home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-02-19 | 118.6 KB | 3,915 lines |
-
- February 16th 1997
-
- R a y S t o r m 3mv1.80m
-
- by Andreas Heumann and Mike Hesser
-
- 0m1m1. Introduction0m
- 3m Introduction 0m What is RayStorm?
- 3m Requirements 0m What do I need to run it?
- 3m Features 0m What can Scenario do?
- 3m Limitations 0m What limitations has the demo version?
-
- 0m1m2. Installation0m
- 3m Installation 0m How can I install it?
-
- 0m1m3. General information0m
- 3m Raytracing 0m What is raytracing?
- 3m Octree 0m What is an octree?
- 3m Antialiasing 0m What is antialiasing?
- 3m Depth of field 0m What is Depth of Field?
- 3m Soft shadows 0m What are soft shadows?
- 3m Motion Blur 0m What is Motion Blur?
- 3m Surfaces 0m What meaning have the surface parameters?
- 3m CSG 0m What is CSG?
- 3m Directory Structure0m Some words to directory and project structures.
- 3m Virtual Memory 0m How do I use virutal memory?
- 3m Internals 0m Some internal details.
- 3m Tips & Tricks 0m Useful tips,tricks and hints (FAQ)
- 3m Textures 0m How do I use textures?
- 3m RAW object format 0m Description of RAW object files.
-
- 0m1m3. Scenario Usage0m
- 3m Usage 0m How do I use Scenario?
- 3m Menus 0m Description of the menus.
- 3m Buttons 0m Description of the buttons.
- 3m Object Menus 0m Description of object orientated menus.
- 3m Keyboard Control 0m How do I use Scenario with the keyboard?
-
- 0m1m4. Script Usage0m
- 3m ARexx interface 0m Which commands doe it have?
- 3m Examples 0m How do I use the examples?
- 3m Tutorials 0m Some tutorials
-
- 0m1m5. Registration0m
- 3m Register 0m What must I do to register?
-
- 0m1m6. Misc0m
- 3m Known Bugs 0m Bugs
- 3m Credits 0m Thanks go to...
- 3m Authors 0m Who wrote it?
- 3m Literature 0m Which books do we use?
- 3m PC-Version 0m Where can I get the PC-version?
- 3m Homepage 0m Where to find us on the World Wide Web.
- 3m History 0m What happened in the past?
- 3m Future 0m What is planned for the future?
-
- 0m1m7. Legal Stuff0m
- 3m Legal Stuff 0m Legal stuff
-
-
- 0m1mINTRODUCTION0m
-
- This document describes the raytracing package RayStorm. This package consists
- of two parts:
- - The scene modeler 0m1mScenario0m which is the graphical user interface
- (GUI) of the RayStorm package.
- - The script interface 0m1mRayStorm Script0m, a program wich allowes one
- to use the raytracer through a script language.
- - The heart of RayStorm: 0m1mRayStorm Raytracer0m, wich generates the
- picture from a scene description (this part is not visible for the user
- but nevertheless it's the main part).
-
- Here are some additional informations to the parts:
-
- 3mRayStorm Scenario0m
- 3mRayStorm Script0m
- 3mRayStorm Raytracer0m
-
- 0m1mINTRODUCTION TO SCENARIO0m
-
- As we developed Scenario we tried to make the user interface to use as
- easy as possible to enable even absolute beginners to work with it. Therefore
- almost all actions can be performed with the mouse. For advanced users we
- implemented keyboard shortcuts for almost all functions.
-
- 0m1mINTRODUCTION TO RAYSTORM SCRIPT0m
-
- The script language that contains the description of the scene is easy to
- learn and offers some powerful capabilities. In addition, the script language
- has a full support for key frame animation.
-
- A RayStorm script file (.ray files) is basically divided into the following
- sections:
- - Various settings of the camera, the world and the lights,
- - Definitions of the different textured surfaces,
- - Different actors that set the Motion Blur and animation parameters,
- - Objects that are associated with surfaces and actors
- - Settings for the final rendered graphic.
-
- For a more detailed description click 3mhere0m.
-
- 0m1mINTRODUCTION TO RAYSTORM RAYTRACER0m
-
- The raytracer itself is a part to RayStorm which is not directly visible.
- All features of the raytracer are packed into a shared library. Both Scenario
- and RayStorm Script use this library to render their scenes.
-
- The raytracer is based on a fast octree algorithm. It has some powerfull
- features such as 3mMotion Blur0m and 3mDepth of Field0m.
-
- 0m1mGENERAL0m
-
- Raytracing makes it possible to generate fotorealistic pictures of objects.
-
- A raytracer casts a ray form the position of the viewer through a scene
- and calculates possible intersections with the objects in that scene. If an
- intersection is found, the raytracer decides which color the object
- at this position has. If the object is reflective or transparent, the
- raytracer casts new rays from this positon and tests the intersections
- again and so on.
-
- To make the surfaces of the objects more realistic, textures which
- simulate marble, wood other surfaces can be used.
-
- 0m1mOCTREE0m
- Simple raytracers determine the intersections with objects by testing all
- objects. This can lead to long rendering times if there are a lot of
- objects in the scene.
-
- One solution of this problem is the Octree algorithm.
- This algorithm divides the scene into eight child-cells recursively until
- there is less than oe object in the cell or the maximum depth of the tree is reached.
-
- Division of space with the octree algorithm:
- _
- /| z
- /
- /-------/-------/|
- ^ y/ / / |
- | / left / right / b|
- |/ / / |a|
- |-------/-------| f|c|
- | | r|k|
- | up | o| /
- |---------------| n|/
- | | t|
- | down | / x
- |---------------|/-->
-
- 0m1mANTIALIASING0m
-
- RayStorm uses a algorithm called 'Adaptive Supersampling' to do antialiasing.
- For each pixel with a high contrast against its four neighbours, the algorithm
- casts new rays which are close to the ray used for the pixel itself. The new
- color of the pixel is calculated with the supersampled pixels and the gaussian
- filter.
-
- Supersampling is also used to do 3mdepth of field0m and 3msoft shadows0m. So if
- you want to use this features you have to set a antialiasing value greater
- than one. (-> 3mANTIALIAS0m)
-
- Example:
- Settings: squareroot of number of samples per pixel: 3
-
- |--------|--------|--------|
- | super- | super- | super- |
- | sampled| sampled| sampled|
- | | | |
- |--------|--------|--------|
- | super- | | super- |
- | sampled| pixel | sampled|
- | | | |
- |--------|--------|--------|
- | super- | super- | super- |
- | sampled| sampled| sampled|
- | | | |
- |--------|--------|--------|
-
- |- Gaussian filter width -|
-
- The rendering time increases dramatically if you use antialiasing. The
- values below depend on the contrast of the picture.
-
- Samplesetting rendering time
- average case worst case
- 1 x1 x1
- 2 x2 x4
- 3 x4 x8
- 4 x8 x16
- ... ... ...
-
- Setting higher than 3 are not leading to significant better results.
-
- 0m1mDEPTH OF FIELD0m
-
- Objects in computer graphics are normally rendered in an image plane
- using a pinhole camera model. That is to say, no matter how far or how
- near the objects are from the camera, they are always in sharp focus.
- Depth of field means that only objects at a certain distance from the
- camera lens are in sharp focus. Further and nearer objects produce a
- blurred image on the film plane.
-
- [From 'Advanced Animation and Rendering Techniques']
-
- To use depth of field you have to set 3mANTIALIAS0m to a value bigger
- than one.
-
- 3mExample for DOF0m
-
- 0m1mSOFT SHADOWS0m
-
- Real Light sources never have a zero size, therefore the shadows behind
- objects are never hard edged, they are soft. RayStorm generates this
- shadows by jittering the position of the light source. To use soft shadows
- you must set 3mDISTRIB0m to a value bigger than one.
-
- 0m1mMOTION BLUR0m
-
- Motion blur is temporal anti-aliasing. In animated sequences, the normal
- rendering process functions like a camera that possesses an infinitely
- short exposure time and this eliminates the blurring of the image due
- to relative motion between an object and the film plane. When a series of
- images, generated without motion blur, is displayed as an animated
- sequence, the illusion of smooth motion is diminished by strobing effects.
- As human beings we expect to see loss of detail in moving images.
-
- Motion blur is accounted for in distributed ray tracing by extending the
- distributed sampling and jittering into the time domain and computing a
- solution that extracts information from the scen over the duration of the
- shutter exposure time. Objects are moved as required in the time period
- and visibility consequently changes over this time intervall. This method
- ensures that highlights and shadows are blurred or not, depending on the
- nature of the motion.
-
- [From 'Advanced Animation and Rendering Techniques']
-
- 0m1mSURFACES0m
-
- Ambient (set with AMBIENT)
-
- This determines the color of the object in sections which are in shadow.
-
- Diffuse reflection (set with DIFFUSE)
-
- The diffuse reflection falls off as the cosine of the angle between
- the normal and the ray to the light. Diffuse reflection determines the
- main color of the object (color in Imagine).
-
- Specularly reflected highlights (set with SPECULAR)
-
- Specularly reflected highlights fall off as the cosine of the angle
- between the reflected ray and the ray to the light source (specular in
- Imagine)
-
- Specular reflection exponent (set with REFEXP)
-
- Determines the size of the specularly reflected highlights, the higher
- the smaller the highlight (hardness in Imagine)
-
- Diffuse transmission (set with DIFFTRANS)
-
- Same as diffuse reflection, but only used if the lightsource is on
- opposite side of surface. Only applied if tranlucency is not 0.
-
- Specular transmission (set with SPECTRANS)
-
- Same as specular reflection, but only used if the lightsource is on
- opposite side of surface. Only applied if tranlucency is not 0.
-
- Specular transmission exponent (set with TRANSEXP)
-
- Same as specular reflection exponent, but only used if the lightsource
- is on opposite side of surface.
-
- Specular transmittance (set with TRANSLUC)
-
- Specular transmittance.
-
- Transparency (set with TRANSPAR)
-
- Transparent color (filter in Imagine).
-
- Reflectivity (set with REFLECT)
-
- Reflective color (reflect in Imagine).
-
- Fog lenght (set with FOGLEN) (fog in Imagine).
-
- Index of refraction (set with REFRINDEX)
-
- Determines how the ray through transparent objects is refracted, the higher
- the more (index of refraction in Imagine).
- Is calculated with the formula
-
- lightspeed in vacuum
- index = ----------------------
- lightspeed in object .
-
-
-
- 0m1mCSG0m
-
- The idea of Constructive Solid Geometry (CSG) is to combine to or more
- primitives with logical operations to produes a new shape. The operations
- needed for CSG are union, intersection, and difference.
-
- With the intersection operator you can combine two objects, and the new shape
- consists of all points which are inside the first 0m1mand0m the second
- object. Points inside one of the objects, but not the other are not part of the
- shape.
-
- If you combine two objects with the union operator, the new shape consists
- of all points which are inside either the first or the second object, or
- inside both objects.
-
- With the difference operator you can cut out a piece of an object with another
- object. The first object is the object that is being 'cut' by the second
- object.
-
- 0m1mDIRECTORY AND PROJECT STRUCTURE0m
-
- scenario the root directory of scenario
- |-brushes the brush directory (you can create subdirectories here)
- | |- brush 1
- | |- brush 2
- | |- ...
- | |- brush n
- |-objects the objects directory (you can create subdirectories here)
- | |- object 1
- | |- object 1
- | |- ...
- | |- object n
- |-textures the textures directory (you can create subdirectories here)
- | |- texture 1
- | |- texture 2
- | |- ...
- | |- texture n
- |-projects the projects directory (Scenario creates for every project a subdirectory)
- |-project 1 the first project
- | |- project.scn the file where the scene is stored (has always this name)
- | |-brushes the directory for brushes which are local to this project
- | | |- ...
- | |-objects the directory for objects which are local to this object
- | | |- ...
- | |- pic.0001 the rendered pictures
- | |- pic.0002
- | |- ...
- | |- pic.n
- |- project 2 another project
- |- ...
- |- project n
-
- The default project directory can be set with the 3mpreferences0m.
-
- 0m1mVIRTUAL MEMORY0m
-
- RayStorm has been tested succesfully with VMM 3.1 from Martin Apel. If you
- want use RayStorm with virtual memory notice follwing hints:
-
- - set Minimum VM allocation to 100 bytes if you define large scenes with
- many objects, because RayStorm only allocates small pieces of memory for
- single objects (less then 200 bytes). If you're loading Imagine objects
- RayStorm allocates big blocks of memory so you don't have to set Minimum
- VM allocation to 100.
- - use a partition or a pseudo-partition for VMM, this is faster
-
- 0m1mINTERNALS0m
-
- The development of RayStorm has started in march 1995.
-
- 0m1mCompiler0m
-
- - Amiga
- Originally, RayStorm has been developed on Amiga using Maxon C++ 3.0
- Developer. The final Amiga version was compiled with StormC 1.1.
- - PC
- The PC version was compiled with WATCOM C++ 10.5.
-
- 0m1mMemory requirements of the raytracer0m
-
- Triangle: 156 Bytes (flat shaded)
- 192 Bytes (Phong shaded)
- Sphere: 70 Bytes
- Plane: 78 Bytes
- Surface: 122 Bytes + length of name
- Screenbuffer: 4 Bytes per pixel
-
- Memory requirements of the octree depends on the scene.
-
- 0m1mSource Code0m
-
- About 70.000 lines of C++-Code in more than 250 modules (about
- 1.6 MByte of source).
-
- 0m1mRAW OBJECT FORMAT0m
-
- RAW files are simple ASCII based descriptions of triangle objects. The file
- consits of object sections which start with a name. This name is followed
- by several triangle definitions. A RAW file consists of unlimited object
- sections. Below is an example of a simple RAW file which describes two objects.
-
- Plane
- -1 -1 0 1 -1 0 1 1 0
- -1 -1 0 -1 1 0 1 1 0
- House
- -3 -1 0 -2 -1 0 -2 1 0
- -3 -1 0 -3 1 0 -2 1 0
- -3 1 0 -2.5 2 0 -2 1 0
-
- 0m1mREQUIREMENTS0m
-
- (1) You will need at least Kickstart 2.0.
-
- (2) 060-version: 68060 processor (with internal FPU)
-
- (3) 040-version: 68040 processor (with internal FPU)
-
- (4) 881-version: 68020 processor or better and a mathematical coprocessor)
-
- (5) 020-version: 68020 processor (no math coprocessor needed)
-
- (6) 2MB RAM minimum
-
- (7) RayStorm was written using MUI. Therefore you need muimaster.library
- V3.3 or better to run RayStorm.
-
- recommended: 68040, 8MB RAM, Harddisk, GFX-Board
-
- The faster the better :-).
-
- Tested with:
- A1200 68030/50, 6MB, 200MB HD
- A2000 68040/30, 9MB, 250+250MB HD, Merlin Gfx-board
- A2000 68030/14, 68882/20, 4MB, 730+52MB HD
- A4000 68030/25, 68882/57, 18MB, 730+80MB HD, Cybervision 64 Gfx-board
-
- 0m1mFEATURES0m
-
- 0m1mScenario0m
-
- - create spheres, planes, boxes, lightsources and cameras
- - create mesh objects: cubes, spheres, planes, tubes and cones
- - each object can track each other
- - unlimited amount of cameras to view scene from different directions
- - define surfaces for all objects, including brushes and textures
- - load external objects (RayStorm object files, Imagine TDDD files,
- AutoDesk 3DS files and RAW files)
- - save and load scenes
- - save and load objects
- - group and ungroup objects
- - preview of surfaces in material requester
- - render scenes with RayStorm Raytracer
- - preview of renderd scenes
- - quadview
- - Multilevel undo (only memory limited) and redo
- - Status bar
-
- 0m1mRayStorm Script0m
-
- - ARexx port with 43 commands.
-
- 0m1mRayStorm Raytracer0m
-
- - Up to 30% faster than Imagine (in trace mode).
- - Octree algorithm used for rendering.
- - Motion blur for realistic simulations of moving objects.
- - Color, reflectivity, filter, altitude and specular mapping.
- - Flat, cylinder and sphere mapping.
- - Soft brush mapping.
- - Mathematical textures: wood, marble, bumps, checker, linear, radial, stars
- and fire.
- - Tranparency and physically correct refractions.
- - 8 levels of antialiasing (adaptive supersampling).
- - Rendering box.
- - Four builtin object types: sphere, plane, box and triangle.
- - CSG (Constructive Solid Geometry)
- - Three light types: ambient, point and spot.
- - Depth of field with adjustable focal distance and aperture.
- - Soft shadows.
- - Backdrop picture.
- - Global fog and foggy objects.
- - Material attributes for realistic objects: ambient color, diffuse color,
- specular color, specular reflection exponent, diffuse transmission color,
- specular transmission color, specular transmission exponent, specular
- transmittance, transparent color, reflective color, index of refraction,
- foglength.
- - Bright objects.
- - Quick rendering.
- - Global reflection map.
- - Image formates: IFF-ILBM, PNG, TGA and Datatypes.
- - Object format: RayStorm object file, Imagine-TDDD, Autodesk 3DS and RAW
- - New image- and object-formats can be easily included because of the
- modular concept.
- - Shadowcache.
- - Definable limited amount of objects for avoiding the creation of octree.
-
- 0m1mLIMITATIONS0m
-
- The demo version is limited to a resolution of 160x128. The registered version
- does not have any limitations.
- Click 3mhere0m for information on how to register RayStorm.
-
- 0m1mINSTALLATION0m
-
- There is a installation script included in the archive which uses the
- Commodore Installer. Run it to install RayStorm Scenario.
-
- 0m1mUSAGE0m
-
- After you have started Scenario you see the worksheet.
-
- At the top of the sheet are the buttons to manage projects, to control the
- view mode, the display mode, the edit mode, enable the selection box and to
- control the currently active directions.
- Below this button bar is the work area. At startup you can see a grid in
- the middle and the camera (note: there must always remain at least one camera
- in the scene).
- At the bottom of the window is a status bar which displays the name of the
- selected object (if more than one object is selected, the name of the first
- object is displayed), the name of the active camera and the current cursor
- coordinates if the coordinate display is enabled (see 3mShow Coordinates0m).
-
- All objects, cameras and light sources have an axis to handle it. The axis
- consist of a rectangular area - the hot spot or handle - and three lines
- which show the orientation of the axis. The axis can be selected by clicking
- with the left mouse button at the handle. If it is selected the color of
- the axis and the object changes.
-
- Clicking with the left mouse button invokes the modify mode. According to the
- slected mode (move, rotate or scale) the world or the selected object(s) can
- be modified.
-
- Clicking with the right mouse button open object specific menus (see
- 3mObject Menus0m).
-
- 0m1mMENUS0m
-
- Project
- 3m New 0m
- 3m Open... 0m
- 3m Save 0m
- 3m Save As... 0m
- 3m Render settings...0m
- 3m Set Render Window 0m
- 3m Render 0m
- 3m About... 0m
- 3m Quit 0m
-
- Edit
- 3m Undo 0m
- 3m Redo 0m
- 3m Cut 0m
- 3m Copy 0m
- 3m Paste 0m
- 3m Delete 0m
- 3m Select all 0m
- 3m Deselect all 0m
- 3m Select next 0m
- 3m Select previous 0m
- 3m Mode 0m
- 3m Active 0m
-
- View
- 3m Redraw 0m
- 3m Focus 0m
- 3m Zoom in 0m
- 3m Zoom out 0m
- 3m Zoom fit 0m
- 3m View 0m
- 3m Camera to viewer 0m
- 3m Grid 0m
- 3m Snap to Grid 0m
- 3m Gridsize... 0m
- 3m Show 0m
- 3m Global settings...0m
-
- Object
- 3m Attributes... 0m
- 3m Settings... 0m
- 3m Group 0m
- 3m UnGroup 0m
- 3m Load... 0m
- 3m Save... 0m
- 3m Create 0m
- 3m Mesh 0m
- 3m Active Camera... 0m
- 3m Browse... 0m
-
- Settings
- 3m Prefs... 0m
- 3m MUI... 0m
- 3m Load 0m
- 3m Save 0m
-
- 0m1mNEW PROJECT0m
-
- Deletes all objects and creates the default camera.
-
- 0m1mOPEN PROJECT0m
-
- Load a new scene.
-
- 0m1mSAVE PROJECT0m
-
- Save the current scene.
-
- 0m1mSAVE PROJECT AS0m
-
- Save the current scene with the specified name.
-
- 0m1mRENDER SETTINGS0m
-
- Opens the 3mrender requester0m. At top of the requester you can select the render
- resolutions with a listview or enter the values to the numeric fields. The
- values range from 0 to 65535. Here you also can also enable the rendering
- field. RayStorm renders only inside this field. The field is shown in the
- perspective window if camera view is switched on.
- The 'Show' flag enables the direct showing of the picture while the
- render process is running (needs KS 3.0 or better).
- The 'Quick' flag selects the quick rendering mode. In this mode RayStorm don't
- calculates shadows, transparency or reflections.
- The 'Octree depth' slider sets the maximum depth of the octree which RayStorm
- uses. For almost all scenes a vlaue of three is the best, but in complex scenes
- it may be better to use higher values. The higher this value is the longer
- takes the initialazion phase and the more memory is needed.
- The 'Min. Objects' slider sets the amount of objects upto which no octree is
- generated. If ther is a small amount of objects in the scene it's sometimes
- better not to build the octree due to the overhead of the intersection test.
- This value depends on your scene, for about 3 to 5 objects it's better not
- to use the octree. But if you want to render scenes with motion blur it's
- better to set this value to zero because this is faster.
- The 'Filename' string gadget sets the filename of the generated picture and the
- cycle gadget sets the fileformat. You can show the rendered picture with the
- view button.
- The 'Ok' button closes the requester and stores the current settings, whereas
- the 'Cancel' button don't changes the settings.
- The 'Render' button starts the rendering of the current scene.
-
- 0m1mSET RENDER WINDOW0m
-
- You can set a window in which RayStorm will render the scene. This window is
- shown in the perspective view if camera view is switched on. The render
- window can be set with the mouse. If you select this menu item it gets
- checked. After this you can set the render window by pressing and holding
- the left mouse button while you set the render window. After releasing the
- mouse button the new render window is set and the enabled.
- You can enable and disable the render window in the
- 3mRender Settings requester0m.
-
- 0m1mRENDER PROJECT0m
-
- Renders the current scene. The 3mrender window0m link is opened.
- At the begining only the 0m3mCancel0m button is enabled. With this button
- you can break the rendering process. The currently renderd part of the
- picture is saved and all memory is freed.
- After RayStorm finished rendering the 0m3mOk0m and 0m3mShow0m buttons
- are enabled. The
- button calls the view program which you set in the 3msettings requester0m.
-
- 0m1mAbout0m
-
- Shows the about requester with the version number and the current Arexx port
- name.
-
- 0m1mQUIT0m
-
- Quits Scenario.
-
- 0m1mUNDO0m
-
- Undos the last operation. Follwoing actions can be undone:
- - transformation (position, alignment, size)
- - delete
- - cut
- - create
- - load object
-
- 0m1mREDO0m
-
- Redos the last undone operation.
-
- 0m1mCUT0m
-
- Moves the currently selected objects to the paste buffer.
-
- 0m1mCOPY0m
-
- Copys the currently selected objects to the paste buffer.
-
- 0m1mPASTE0m
-
- Copys the currently selected objects from the paste buffer to the scene.
-
- 0m1mDELETE0m
-
- Deletes the currently selected objects. The active camera can't be deleted.
-
- 0m1mSELECT ALL0m
-
- Selects all objects.
-
- 0m1mDESELECT ALL0m
-
- Deselects all objects.
-
- 0m1mSELECT NEXT0m
-
- Selects the next object.
-
- 0m1mSELECT PREVIOUS0m
-
- Selects the previous object.
-
- 0m1mMODE0m
-
- Sets the edit mode:
- Move object
- Rotate object
- Scale object
-
- Move world
- Rotate world
- Zoom world
-
- 0m1mACTIVE0m
-
- Sets the active directions:
- X, Y, Z.
-
- 0m1mREDRAW0m
-
- Redraws the work area.
-
- 0m1mFOCUS0m
-
- Sets the zoom factor so that all selected objects are visible.
-
- 0m1mZOOM IN0m
-
- Zooms out by factor two.
-
- 0m1mZOOM OUT0m
-
- Zooms in by factor two.
-
- 0m1mZOOM FIT0m
-
- Sets the zoom factor so that the whole scene is visible.
-
- 0m1mVIEW0m
-
- Sets the view mode:
- Front, Right, Top, Perspective, Four, Camera.
-
- 0m1mCAMERA TO VIEWER0m
-
- Moves the camera to the the position of the virtual camera, roatates the
- camera and sets the opening angles (horizontal and vertial field of view).
-
- 0m1mGRID0m
-
- Switches grid on/off.
-
- 0m1mSNAP TO GRID0m
-
- Switches grid snapping on/off.
-
- 0m1mGRID SIZE0m
-
- Sets grid size.
-
- 0m1mSHOW0m
-
- 3m Coordinates 0m
- 3m Names 0m
- 3m Brushes 0m
- 3m Textures 0m
-
- 0m1mSHOW COORDINATES0m
-
- Switches coordinate display on/off.
-
- 0m1mSHOW NAMES0m
-
- Sets the show names mode on/off.
-
- 0m1mSHOW BRUSHES0m
-
- Sets the show brushes mode on/off.
-
- 0m1mSHOW TEXTURES0m
-
- Sets the show textures mode on/off.
-
- 0m1mGlobal0m
-
- Opens the 3mglobal settings requester0m. Here you can change the global scene
- settings.
-
- The 'Background' colorfield sets the color of the background of the rendered
- picture.
-
- With the 'Backdrop' string gadget you can enter a picture which will replace
- the background.
-
- The 'Reflectionmap' string gadget sets the name of a picture which will be
- reflected by objects instead of the background. The reflectionmap is even
- applied in quick mode.
-
- The 'Ambient' colorfield sets color of the ambient light which is the base
- brightness of all objects. In other words: surfaces which are not illuminated
- by a light source get the ambient color.
-
- The next group of gadgets set the 3mantialiasing0m parameters. The
- antialiasing value ranges from 1 (no antialiasing) to 8 (very high
- antialiasing). This value is the squareroot of rays per pixel. Filter width
- sets the maximum distance from the main ray to the additional generated rays
- in pixels. The 'Contrast' colorfield sets the minimum contrast. If the contrast
- of the main pixel against its four neighbours is higher than this color,
- RayStorm performs antialiasing at this pixel.
-
- The global fog parameters are controlled with the gadgets of the next group.
- 'Length' sets the thickness of the fog. The 'Color' colorfield determines the
- color of the fog. 'Height' sets the height at which the fog ends. Global fog
- always starts at negative infinity in y direction and and at the specified y
- position. For more informations about fog click 3mhere0m.
-
- The 'Motionblur level' slider is not activated in this version of Scenario,
- because motionblur needs animated objects.
-
- The 'Softshadow level' slider sets the squareroot of the amount of additional
- casted rays for softshadow. Soft shadows are caused from light sources with
- a size bigger than 0.
-
- The 'Random jitter' flag switches between normal and random sampling. With
- random sampling the sampling position is calculated randomly.
-
- 0m1mATTRIBUTES0m
-
- Opens the attribute requester for the currently selected object, if no object
- is selected no requester is opened.
- Here you can set the parameters which determine the apperance of the surface.
- The requester is divided into three groups:
- - 3mSurface0m
- At this page you can set the base apperance of the surface.
- - Diffuse
- The diffuse reflection falls off as the cosine of the angle between
- the normal and the ray to the light. Diffuse reflection determines
- the main color of the object.
- - Ambient
- This determines the color of the object in sections which are in
- shadow.
- - Specular
- Specularly reflected highlights fall off as the cosine of the angle
- between the reflected ray and the ray to the light source.
- - Diffuse Transmission
- Same as diffuse reflection, but only used if the lightsource is on
- opposite side of surface. Only applied if tranlucency is not 0.
- - Transparence
- Transparent color.
- - Specular Transmission
- Same as specular reflection, but only used if the lightsource is on
- opposite side of surface. Only applied if tranlucency is not 0.
- - Reflectivity
- Reflective color.
- - Translucency
- Specular transmittance.
- - Reflection exponent
- Determines the size of the specularly reflected highlights, the higher
- the smaller the highlight.
- - Index of refraction
- Determines how the ray through transparent objects is refracted, the
- higher the more.
- - Transmission exponent
- Same as specular reflection exponent, but only used if the lightsource
- is on opposite side of surface.
- - Fog length
- - Bright
- The brightness of the surface is everywhere the same. Light sources don't
- affect the surface, no shadows are visible on the surface, but the object
- casts shadows.
- - 3mBrush0m
- Brushes are pictures which are projected to the surface. They can replace
- different surface parameters as color, transparency, reflectivity and
- specularity. Additional with altitude mapping brushes can change the normals
- of the surface to simulate bumps or other structures which go 'in' or come
- 'out' of the surface.
- There are three wrap methods available:
- - flat (Flat)
- The brush is projected to X-Y plane.
- - cylindrical around x- or y-axis (WrapX and WrapY)
- The brush is wrapped around the x or y-axis, like on a cylinder. The left
- edge of the brush begins at the posititve x-axis and wraps the brush around
- the cylinder from 'west' to 'east'.
- - spherical (WrapXY)
- Wrapping both: around x- and y-axis. It is assumed, that the object is a
- sphere. The y-axis is the north/south pole of the spherical mapping. The
- left edge of the brush begins at the positive x-axis and wraps the brush
- around the sphere from 'west' to 'east'. The brush covers the sphere
- exactly once.
- Additional brushes can be repeated and mirrored (only for flat or cylindrical
- mapping). If 'Soft' is selected, the color between two points of the brush is
- softly interpolated.
- - 3mTexture0m
- Textures are mathematical generated patterns. Textures can change color,
- reflectivity, transparency and normals of a surface. Textures are controlled
- with a set of 16 parameters.
-
- 0m1mPreview0m
- Renders a preview of the surface on a sphere (only for KS 3.0 and better).
- The light source is always placed right top before the sphere.
- All surface attributes can be viewed here except brushes and fog.
- If reflectivity is set the RayStorm logo is reflected on the surface.
- 0m1mSave0m
- Saves the surface data.
- 0m1mLoad0m
- Loads surface data.
-
- 0m1mSettings0m
-
- Opens the 3msettings requester0m for the currently selected object.
- On the first page you can set the name, track, position, alignment and size of
- an object.
- With 0m3mTrack0m you can set the name of an object the object will track to.
- This means that the object will always point with it's z direction to the axis
- of the track object.
-
- With the second page you can change object settings. The contents of
- this page depends on the object type.
- 3mCamera 0m
- 3mPointight0m
- 3mSpotLight0m
- 3mMesh 0m
-
- 0m1mCAMERA SETTINGS0m
-
- With the 3mcamera settings requester0m you can set various paramaters, which
- influence the camera.
-
- 0m3mFocal distance0m and 0m3mAperture0m set the parameters for
- 3mDepth of Field0m. If you select 0m3mFocus Track0m and the camera tracks
- to an object the focal distance of the camera is automatically set to the
- distance between camera and track.
-
- With the values of 0m3mHorizontal0m and 0m3mVertical0m field of view you
- can set the opening angle of the camera lens. If you activate the button
- 0m3mTake VFOV from resolution0m Scenario calculates the vertical field of
- view (VFOV) from the resolution and the horizontal field of view (HFOV). An
- Example will demonstrate this. You selected a HFOV of 30 degree and a
- resolution of 800x600 pixels. This means that the VFOV is
- 600 / 800 * 30 = 22.5 degree.
-
- 0m1mLIGHT SETTINGS0m
-
- With the 3mlight settings requester0m you can set various paramaters which
- influence the light.
-
- 0m3mColor0m sets the color of the light source.
-
- 0m3mFalloff0m is the distance where the intensity of the light source is
- zero. A value of zero disables it.
-
- 0m3mCast shadows0m enables the light source to cast shadows.
-
- 0m3mLens flares0m enables the 3mlens flare settings0m.
-
- 0m3mVisible light0m enables the 3mvisible light settings0m.
-
- 0m1mLIGHT SETTINGS0m
-
- With the 3mlight settings requester0m you can set various paramaters which
- influence the light.
-
- 0m3mColor0m sets the color of the light source.
-
- 0m3mFalloff0m is the distance where the intensity of the light source is
- zero. A value of zero disables it.
-
- 0m3mOpening angle0m sets the opening angle of a spotlightsource in degree.
-
- 0m3mCast shadows0m enables the light source to cast shadows.
-
- 0m3mLens flares0m enables the 3mlens flare settings0m.
-
- 0m3mVisible light0m enables the 3mvisible light settings0m.
-
- 0m1mLENS FLARES0m
-
- With the 3mlens flare settings0m you can create and change lens flares.
-
- Lens flares only appear when the light source is visible. They appear on an
- axis which runs from the center of the light source through the center of the
- screen. The position of the flare is relative to the light source it belongs
- to. If the position value is zero, the flare appears at the position of the
- light source. Higher values of position move it towards the center of the
- screen.
- Here are some example values and their meaning:
-
- 0 : flare has the same position as the light source
- 100 : flare is in the middle of the screen
- 200 : flare is on opposite side of the light source
-
- You can also set position to negative values, so the flare will appear behind
- the light source.
-
- The radius of the flare is relative to the horizontal render resolution.
- For example: A flare with radius of 20 % renderd with a resolution of 320x200
- will have a radius of 0.2*320 = 64 pixels.
-
- 0m1mType0m is global to all flares and can be one of the following
- identifiers:
-
- Disc
- A flare which looks like a disc
- Polygon n
- A flare which looks like a polygon. n is the number of edges.
-
- 0m1mTilt0m is also global to all flares and sets the angle the flares
- are rotated.
-
- 0m1mFunction0m can be one of the following:
-
- Plain
- the color of the flare is uniform
- Ring
- the flare looks like a ring
- Radial
- varies the color of the flare radial around the flare center
-
- The flares can either be selected by their number with the slider at top
- of the requester, or in the display area of the requester by clicking with
- the mouse on it.
-
- 0m1mVISIBLE LIGHT0m
-
- With the 3mvisible light settings0m you can change the appearance of the
- light source.
-
- In reality, a light source looks like a star with several spikes getting out
- of the center of the light source. Usually there's a halo around it too.
-
- The radius (length of the longest spike) of the star is relative to the
- horizontal render resolution (see 3mLens Flares0m).
-
- The radius of the halo is relative to the radius of the star itself. A value
- of 100 % means, that the halo has the same radius as the star.
- The radius of the inner halo is relative to the radius of the outer halo. A
- value of 100 % means, that the inner halo has the same radius as the outer
- halo.
-
- The range value determines the difference between the longest and the shortes
- spike of the star. A value of 0 % means that all spikes have the same length,
- whereas 100 % means that the shortest spike has zero length.
-
- The tilt angle rotates the star spikes.
-
- The spike width value is a factor for the width of the spikes. Higher values
- generate wider spikes.
-
- 0m1mHow are the spikes computed ?0m
- The four spikes in the main directions (0, 90, 180, 270 degrees) always have
- maximum length. Spikes between them (45, 135, ... degrees for example) are
- shorter and again spikes between them are shorter and so on.
-
- If you enable random, the length of the spikes is randomly changed.
-
- 0m1mMESH SETTINGS0m
-
- The mesh settings requester is different for external and normal object.
-
- For normal objects the requester looks like 3mthis0m.
-
- If 0m3mNo phong shading0m is activated the mesh object is rendered
- without soft interpolation of the surface brightness. The object looks
- like made of single facetts.
-
- For external objects the requester looks like 3mthis0m.
-
- 0m3mObject filename0m sets the the name of the external object which is
- attached with the mesh object.
-
- If 0m3mApply surface to childs0m is activated the surface of the mesh
- object is applied to the surface of the attached external object.
-
- 0m1mGROUP0m
-
- Groups the selected objects.
-
- 0m1mUNGROUP0m
-
- Ungroups the selected objects.
-
- 0m1mLOAD0m
-
- Loads an external object. Currently RayStorm, Imagine, 3DS and RAW objects
- are supported. Scenario generates an axis and adds the object as childs of it.
-
- After loading the name of the object file can be changed with the 3mmesh settings0m
- requester.
-
- 0m1mSAVE0m
-
- Saves an object and it's childs in RayStorm object file format. You can only
- save objects from the root level of the object tree. This means you cannot
- save child objects. You also cannot save external objects.
-
- 0m1mCREATE0m
-
- 3m Sphere 0m
- 3m Box 0m
- 3m Plane 0m
- 3m Pointlight 0m
- 3m Spotlight 0m
- 3m Camera 0m
-
- 0m1mSPHERE0m
-
- Creates a new sphere at position <0,0,0> with radius 1.
-
- 0m1mBOX0m
-
- Creates a new box at position <0,0,0> with the left, bottom, front edge
- at <-1,-1,-1> and the right, top, back edge at <1,1,1>.
-
- 0m1mPLANE0m
-
- Creates a new plane at position <0,0,0> with the normal pointing in positive
- y direction.
-
- 0m1mPOINTLIGHT0m
-
- Creates a new point light source at position <0,0,0>.
-
- 0m1mSPOTLIGHT0m
-
- Creates a new spot light source at position <0,0,0> with a opening angle of
- 45 degree pointing in negative y direction.
-
- 0m1mCAMREA0m
-
- Creates a new pinhole camera at position <0,0,0> with a horizontal and
- vertical field of view of 25 degree witch is pointing in positive z
- direction.
-
- 0m1mMESH0m
-
- 3m Axis 0m
- 3m Cube 0m
- 3m Sphere 0m
- 3m Plane 0m
- 3m Tube 0m
- 3m Cone 0m
- 3m Torus 0m
-
- 0m1mAXIS0m
-
- Creates a new axis at position <0,0,0> with size <1,1,1>. An axis can be used
- to track a camera or a spot lightsource on it.
-
- 0m1mCUBE0m
-
- Creates a cube at position <0,0,0>. You can set the size of the cube with a
- requester.
-
- 0m1mSPHERE0m
-
- Creates a spere at position <0,0,0>. You can set the size, the divisions and
- the slices with a requester.
-
- 0m1mPlane0m
-
- Creates a plane at position <0,0,0> with normal pointing in positive y-
- direction. You can set the divisions with a requester.
-
- 0m1mTUBE0m
-
- Creates a tube at position <0,0,0>. You can set the size, the height, the
- divisions, the slices and if it's a closed tube with a requester.
-
- 0m1mCONE0m
-
- Creates a cone at position <0,0,0>. You can set the size, height, divisions,
- slices, and if the cone is closen with a requester.
-
- 0m1mTORUS0m
-
- Creates a torus at position <0,0,0>. You can set the inner and outer size, the
- division and slices with a requester.
-
- 0m1mACTIVE CAMERA0m
-
- You can select the active camera.
-
- 0m1mBROWSE0m
-
- Opens the object browser. There are two different selectable behaviours:
- - Normal
- View by selecting an entry and pressing the view button.
- Select object with double click.
- - Alternative
- View by selecting any entry.
- Select object with double click.
- The behaviour is selectable in the 3mpreferences requester0m.
-
- 0m1mPREFS0m
-
- Opens the preferences requester.
-
- The 3m'Paths'-page0m let you set various paths.
-
- 0m1mViewer0m
- Sets the path and name of the viewer. This viewer is used to display the
- images generated by RayStorm. The filename of the image is appended to the
- end of the string. You have specify the whole path, for example not
- 'multiview' but 'sys:utilities/multiview'.
- 0m1mProject path0m
- Sets the default path for projects
- 0m1mObject path0m
- Sets the default path for objects.
- 0m1mTexture path0m
- Sets the default path for textures.
- 0m1mBrush path0m
- Sets the default path for brushes.
-
- The 3m'Flags'-page0m let you set various flags.
-
- 0m1mAlternative browser mode0m
- See 3mBrowse0m.
- 0m1mAlways show coordinates0m
- The 3d coordinates of the mouse pointer are displayed for front, right and
- top. If a object is transformed, the relative coordinates, rotation angles
- or scale fctors are displayed
-
- On the 3m'Undo'-page0m you can set undo related
- things:
-
- 0m1mUndo memory kB0m
- Sets the maximum amount of memory used for undo informations. Old undo
- operations are deleted if the memory limit is reached.
-
- 0m1mMUI0m
-
- Opens the MUI preferences.
-
- 0m1mLOAD0m
-
- Loads the preferences from a file called 'scenario.prefs'.
-
- 0m1mSAVE0m
-
- Saves the preferences to a file called 'scenario.prefs'.
-
- 0m1mBUTTONS0m
-
- The first three buttons handle the project management (new, load
- and save project.
-
- The next six buttons are for selecting the view (front, right, top,
- perspective, quad and camera view).
-
- The following three buttons select the display type. (bounding box,
- wireframe and solid display).
-
- After this are six buttons to select the edit mode (move, rotate, scale object
- and move, rotate, scale world).
-
- The next three buttons enable the X, Y and Z-axis.
-
- 0m1mOBJECT MENUS0m
-
- Sceneario supports object oriented menus. These menus are shown when you click
- the right mouse button inside the work area and hold it. Scenario then pops
- up a menu. The contents of this menu depends on the object which is found at
- this position.
-
- 0m1mWorld menu0m
-
- The world menu is shown if you click on a place where no object is placed.
- The menu contents follwing points:
-
- Move: switch to move world
- Rotate: switch to rotate (the virtual camera is rotated around the view
- point (only perspective mode))
- Zoom: zoom in or out
- Settings: opens the general settings requester
-
- 0m1mObject menu0m
-
- The object menu pops up if you click on the handle of the object.
- The menu contents follwing points:
-
- Move: switch to mode move object
- Rotate: switch to rotate object (the object is rotated around it's local
- axis)
- Scale: switch to scale object
- Settings: opens the 3msettings0m requester
- Attributes: opens the surface 3mattributes0m
- requester
-
- 0m1mCamera menu0m
-
- The camera menu pops up if you click on the handle of a camera
- The menu contents follwing points:
-
- Move, Rotate, Scale, Settings: see object menu
- Settings: opens the 3mcamera settings0m requester
- Active: sets this camera as the active camera (the scene is viewed with
- this camera)
-
- 0m1mLight menu0m
-
- Opens the light popup menu.
- The menu contents follwing points:
-
- Move, Rotate, Scale, Settings: see object menu
- Settings: opens the 3mlight source settings0m requester
-
- 0m1mMesh menu0m
-
- Opens the mesh popup menu.
- The menu contents follwing points:
-
- Move, Rotate, Scale, Settings: see object menu
- Settings: opens the 3mMesh settings0m requester
- Attributes: see object menu
- To scene: convert external to scene objects
-
- 0m1mKEYBOARD CONTROL0m
-
- ESC break redraw
- cursor keys Function depends on the curren edit mode (move, rotate, scale of
- world or object).
- DEL delete selected objects
- '+' zooms in
- '-' zooms out
- 'm' switches to move object action
- 'r' switches to rotate object action
- 's' switches to scale object action
- 'M' switches to move world action
- 'R' switches to rotate world action
- 'S' switches to scale world action
- 't' opens settings requester
- '1' switches to front view
- '2' switches to right view
- '3' switches to top view
- '4' switches to perspective view
- '5' switches to quad view
- '6' switches to camera view
- 'b' toggles box selection mode
- 'x' enable x axis
- 'y' enable y axis
- 'z' enable z axis
-
- 'F1' render settings
-
- 'R-Amiga' - '.' Center view
-
- 0m1mTIPS & TRICKS0m
-
- 0m1mGeneral0m
- - RayStorm renders faster if you don't use planes, because intersections
- with planes cannot be calculated with the octree (helpfull in scenes with
- motion blur or soft shadows).
-
- 0m1mScenario0m
-
- - 0m1mI have problems with the screen refresh, the scene is only refreshed
- behind the requester!0m
- Open the 3mMUI-settings0m requester and select from the window
- part for "Refresh" the "Smart"-mode.
- - 0m1mHow can I change the texture and brush names without removing and adding
- them again?0m
- Select 3mView->Show->Show Textures0m or 3mView->Show->Show Brushes0m
- and select the texture or brush. Now open the 3msettings-requester0m and change
- the name of the brush or texture.
- - 0m1mHow can I change the name of an Imagine/3DS/RAW-object without deleting
- and reloding it?0m
- Select 3mSettings0m from the object menu of the parent axis. Here you
- can change the name of the object.
- - 0m1mHow can I load my old Imagine attribute files to use it for RayStorm
- objects?0m
- Load the attributes file with 3mload object0m. You will get an axis
- named 'Mesh' with another axis attached to it. The surface of this axis is set
- to the attributes of the file. Click with the right mouse button to the parent
- axis and select 3mTo scene0m. The parent axis is no deleted
- and can now open the attributes requester for the child axis. Select save from
- the 3mattributes requester0m and save the surface as a RayStorm material file.
- - 0m1mIf I apply a checker texture to a plane looks noisy!0m
- If the texture is exactly on the plane, the color of the texture jumps
- between black and white because of rounding errors. Try to move the texture
- axis a little (e.g. 0.02) away from the plane.
-
- 0m1mRayStorm Script0m
- - The commands '3mTEXTUREPATH0m', '3mOBJECTPATH0m' and '3mBRUSHPATH0m' are relative
- to the directory RayStorm is started from.
- - If RayStorm crashes with scenes with reflections and transparence, try
- to start RayStorm with a larger stack (e.g. 8192 bytes or more).
-
- 0m1mAREXX INTERFACE0m
-
- 3mIntroduction0m
- 3mAddress 0m
- 3mParameters 0m
- 3mCommands 0m
- 3mErrors 0m
-
- 0m1mAREXX INTRODUCTION0m
-
- RayStorm is completly controled through it's ARexx interface. We recommend
- that you have a look at the 3mtuturials0m and the 3mexample0m
- script files in the 'ARexx' directory.
- These examples cover most of the features of RayStorm. Further encourage you
- to create your own files and make them available for the public. You can send
- them to us and we might add them as an example files in the next version of
- RayStorm or we include them to our 3mHomepage0m.
- In one of the next versions of RayStorm we'll create a more powerful
- language, which has a similar syntax to C++.
-
- It's the same if you write the the commands in upper case or lower case.
- But it's important to enclose all commans in quotes because ARexx tries
- to interpret the line before it sends it to ARexx. It may happen that the
- line is changed and RayStorm don't do this what you want.
-
- A typical structure of a scene file is:
-
- /* title, comments, ... */
-
- /* setting resolution, world, camera, lightsources */
- 'SETSCREEN 160 128'
- 'SETWORLD [0,0,0] [40,40,40]'
- 'SETCAMERA <0,0,80> <0,0,0> <0,1,0> 25 20'
- 'POINTLIGHT <10,-10,100> [255,255,255] SHADOW'
-
- /* define surfaces and actors */
- 'NEWSURFACE TEST1'
- 'AMBIENT [255,0,0]'
- 'DIFFUSE [255,0,0]'
- 'SPECULAR [255,255,255]'
-
- 'NEWSURFACE TEST2'
- 'AMBIENT [0,0,255]'
-
- /* creating objects */
- 'SPHERE TEST1 <0,0,0> 10'
- 'SPHERE TEST2 <0,0,0> 10'
-
- /* finally start to render the scene */
- 'STARTRENDER'
-
- /* save the image */
- 'SAVEPIC "test.iff"'
-
- 'CLEANUP'
-
- 0m1mADDRESS0m
-
- The ARexx-address of RayStorm is 'RAYSTORM'.
-
- 0m1mAREXX PARAMETERS0m
-
- The parameters of a command can be FLOATs, INTEGERs, VECTORs, COLORs,
- STRINGs, and IDENTIFIERs.
-
- FLOAT An FLOAT is a floating point number with single precision
-
- NUMBER A NUMBER is a simple integer number
-
- VECTOR A VECTOR is embedded in '<' '>' and consists of three FLOATs
-
- COLOR A COLOR is embedded in '[' ']' and consists of three INTEGERs
- which range normally from 0 to 255, but you can also set negative
- values or values above of 255.
-
- STRING A STRING consists of characters
-
- KEYWORD An KEYWORD is a switch and consists of uppercase characters
-
- 0m1mPARAMETER CONVENTIONS0m
- /S - Switch.
- /N - Number.
- /A - Required.
-
- All other numeric parameters are floating point numbers.
-
- 0m1mAREXX COMMANDS0m
-
- 3m General 0m
- 3m Objects 0m
- 3m Attributes 0m
- 3m Animation 0m
-
- 0m1mAlphabetically sorted0m
-
- 0m1m-A-0m
- 3mALIGNMENT 0m
- 3mAMBIENT 0m
- 3mANTIALIAS 0m
- 0m1m-B-0m
- 3mBOX 0m
- 3mBRUSH 0m
- 3mBRUSHPATH 0m
- 0m1m-C-0m
- 3mCLEANUP 0m
- 3mCSG 0m
- 0m1m-D-0m
- 3mDIFFTRANS 0m
- 3mDIFFUSE 0m
- 3mDISPLAY 0m
- 3mDISTRIB 0m
- 0m1m-F-0m
- 3mFLARE 0m
- 3mFOGLEN 0m
- 0m1m-G-0m
- 3mGETERRORSTR0m
- 0m1m-I-0m
- 3mIMTEXTURE 0m
- 0m1m-L-0m
- 3mLOADOBJ 0m
- 0m1m-N-0m
- 3mNEWSURFACE 0m
- 0m1m-O-0m
- 3mOBJECTPATH 0m
- 0m1m-P-0m
- 3mPLANE 0m
- 3mPOINTLIGHT 0m
- 3mPOSITION 0m
- 0m1m-Q-0m
- 3mQUIT 0m
- 0m1m-R-0m
- 3mREFEXP 0m
- 3mREFLECT 0m
- 3mREFRINDEX 0m
- 0m1m-S-0m
- 3mSAVEPIC 0m
- 3mSETCAMERA 0m
- 3mSETSCREEN 0m
- 3mSETWORLD 0m
- 3mSIZE 0m
- 3mSPECTRANS 0m
- 3mSPECULAR 0m
- 3mSPHERE 0m
- 3mSPOTLIGHT 0m
- 3mSTAR 0m
- 3mSTARTRENDER0m
- 0m1m-T-0m
- 3mTEXTUREPATH0m
- 3mTRANSEXP 0m
- 3mTRANSLUC 0m
- 3mTRANSPAR 0m
- 3mTRIANGLE 0m
- 0m1m-W-0m
- 3mWINTOFRONT 0m
-
- 0m1mGENERAL AREXX-COMMANDS0m
-
- 3mANTIALIAS 0m sets antialiasing parameters
- 3mBRUSHPATH 0m sets brush path
- 3mCLEANUP 0m cleanups scene
- 3mDISPLAY 0m displays scene
- 3mDISTRIB 0m sets parameters for distributive sampling
- 3mFLARE 0m add a flare to a lightsource
- 3mGETERRORSTR0m gets a error string for a given number
- 3mOBJECTPATH 0m sets object path
- 3mPOINTLIGHT 0m creates point lightsource
- 3mQUIT 0m quits RayStorm
- 3mSAVEPIC 0m saves rendered picture
- 3mSETCAMERA 0m sets camera parameters
- 3mSETSCREEN 0m sets screen parameters
- 3mSETWORLD 0m sets world parameters
- 3mSPOTLIGHT 0m creates spot lightsource
- 3mSTAR 0m add a light star to a lightsource
- 3mSTARTRENDER0m starts rendering
- 3mTEXTUREPATH0m sets texture path
- 3mWINTOFRONT 0m brings window to front
-
- 0m1mANTIALIAS0m
-
- 0m1mTemplate:0m
- SAMPLES/N/A,WIDTH,CONTRIB
- 0m1mArguments:0m
- NUMBER SAMPLES
- squareroot of number of samples per pixel (max. 8)
- FLOAT WIDTH
- width of gaussian filter. The range is infinite but values between 1 and
- 3 are recommended.
- COLOR CONTRIB
- max. allowed contrast
- 0m1mDescription:0m
- Sets antialiasing parameters (see 3mAntialiasing0m)
- 0m1mDefault:0m
- ANTIALIAS 1 1.3 [51,38,76]
-
- 0m1mBRUSHPATH0m
-
- 0m1mTemplate:0m
- PATH/A
- 0m1mArguments:0m
- STRING PATH
- pathname
- 0m1mDescription:0m
- Defines the path where to search brushes. More than one path may be included
- as long as they are separated by semi-colons.
- 0m1mExample:0m
- BRUSHPATH 'path1;path2'
-
- 0m1mCLEANUP0m
-
- 0m1mTemplate:0m
- none
- 0m1mArguments:0m
- none
- 0m1mDescription:0m
- Deletes all defined objects, lightsources, surfaces and actors
-
- 0m1mDISPLAY0m
-
- 0m1m!!! CAUTION !!!
- THIS COMMAND ISN'T RELEASED IN THIS VERSION YET
- !!! CAUTION !!!0m
-
- 0m1mTemplate:0m
- FLOYD/S
- 0m1mArguments:0m
- KEYWORD FLOYD/S
- dither with Floyd-Steinberg algorithm
- 0m1mDescription:0m
- Displays rendered pic on screen
-
- 0m1mDISTRIB0m
-
- 0m1mTemplate:0m
- SAMPLES/N,SOFTSHADOW/N
- 0m1mArguments:0m
- NUMBER SAMPLES/N
- squareroot of number of samples per pixel for motionblur
- NUMBER SOFTSHADOW/N
- squareroot of number of samples per pixel for softshadows
- 0m1mDescription:0m
- Sets number of samples per pixel for distributive sampling (used for
-
- 0m1mDefault:0m
- DISTRIB 1,1
-
- 0m1mGETERRORSTR0m
-
- 0m1mTemplate:0m
- ERRNUM/N/A
- 0m1mArguments:0m
- NUMBER ERRNUM
- error number
- 0m1mDescription:0m
- Returns the error string for the given error number
-
- 0m1mOBJECTPATH0m
-
- 0m1mTemplate:0m
- PATH/A
- 0m1mArguments:0m
- PATH
- pathname
- 0m1mDescription:0m
- Defines the path where to search objects. More than one path may be included
- as long as they are separated by semi-colons.
- 0m1mExample:0m
- OBJECTPATH 'path1;path2'
-
- 0m1mPOINTLIGHT0m
-
- 0m1mTemplate:0m
- POS/A,COLOR,SIZE,SHADOW/S,ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S
- 0m1mArguments:0m
- VECTOR POS
- position of pointlight
- COLOR COLOR
- color of light
- VECTOR SIZE
- size of light source (used for 3msoft shadows0m)
- KEYWORD SHADOW
- lightsource casts shadows
- STRING ACTOR
- name of actor
- FLOAT FALLOFF
- distance where the brightness of the light is zero
- KEYWORD NOSTAR
- disable light star
- KEYWORD NOFLARES
- disable lens flares
- 0m1mDescription:0m
- Creates a point lightsource. The lightsource casts shadows, if the keyword SHADOW is given
- 0m1mDefault:0m
- POINTLIGHT <0,0,0> [255,255,255] 0 ?? ?? 0
-
- 0m1mQUIT0m
-
- 0m1mTemplate:0m
- none
- 0m1mArguments:0m
- none
- 0m1mDescription:0m
- Quits Raystrom
-
- 0m1mSAVEPIC0m
-
- 0m1mTemplate:0m
- NAME/A,FORMAT
- 0m1mArguments:0m
- STRING NAME
- the picture is saved under that name
- STRING FORMAT
- image format (TGA, PNG, ILBM; default ILBM)
- 0m1mDescription:0m
- Saves rendered picture 24-Bit IFF-ILBM-file, 24 Bit TGA or as PNG file. If
- an error occures the command returns an error string.
- 0m1mExample:0m
- SAVEPIC 'path\name with extension'
-
- 0m1mSETCAMERA0m
-
- 0m1mTemplate:0m
- POS/A,VIEWPOINT,VIEWUP,FOVX,FOVY,FOCALDIST,APERTURE,POSACTOR,VIEWACTOR
- 0m1mArguments:0m
- VECTOR POS
- position of camera
- VECTOR VIEWPOINT
- position to which the camera point to
- VECTOR VIEWUP
- view up vector
- FLOAT FOVX, FOVY
- field of view (in degree) (20 degree creates camera like Imagine
- default camera)
- FLOAT FOCALDIST
- distance from eye to focal plane
- FLOAT APERTURE
- aperture width (0 = pinhole) (-> 3mdepth of field0m)
- STRING POSACTOR
- name of position actor
- STRING VIEWACTOR
- name of look_at_actor
- 0m1mDescription:0m
- Sets the parameters of the camera
- 0m1mDefault:0m
- SETCAMERA <0,0,-10> <0,0,0> <0,1,0> 45 45 1. 0.
-
- 0m1mSETSCREEN0m
-
- 0m1mTemplate:0m
- RESX/N/A,RESY/N/A,COLORS/N
- 0m1mArguments:0m
- NUMBER RESX, RESY
- resolution
- NUMBER COLORS
- number of colors (not yet implemented)
- 0m1mDescription:0m
- Sets the resolution of the rendered picture. Note that in the demo-version
- the resolution is limited to 160x128!
- 0m1mDefault:0m
- SETSCREEN 128 128
-
- 0m1mSETWORLD0m
-
- 0m1mTemplate:0m
- BACK/A,AMBIENT,RANDJIT/S,BACKDROP,FOGLEN,FOGHEIGHT,FOGCOLOR,REFLMAP
- 0m1mArguments:0m
- COLOR BACK
- backgroundcolor
- COLOR AMBIENT
- ambientcolor
- KEYWORD RANDJIT
- use random jitter for 3mdepth of field0m and 3msoft shadows0m
- STRING BACKDROP
- name of backdrop picture
- FLOAT FOGLEN
- global fog length
- FLOAT FOGHEIGHT
- highest fog y-coordinate
- COLOR FOGCOLOR
- fogcolor
- STRING REFLMAP
- name of reflection map
- 0m1mDescription:0m
- Sets world parameters. The backdrop picture is automatically scaled to
- the screen resolution.
- 0m1mDefault:0m
- SETWORLD [0,0,0] [0,0,0] ?? 32 0 [255,255,255] ??
-
- 0m1mSPOTLIGHT0m
-
- 0m1mTemplate:0m
- POS/A,COLOR,LOOKPOINT,ANGLE,SIZE,SHADOW/S,ACTOR,LOOKP_ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S
- 0m1mArguments:0m
- VECTOR POS
- position of the spotlight
- COLOR COLOR
- color of light
- VECTOR LOOKPOINT
- point to which the spotlight shines at
- FLOAT ANGLE
- opening angel (in degree max. 180)
- FLOAT SIZE
- size of light source (used for 3msoft shadows0m)
- KEYWORD SHADOW
- lightsource cats shadows
- STRING ACTOR
- name of position actor
- STRING LOOKP_ACTOR
- name of look_at_actor
- FLOAT FALLOFF
- distance where the brightness of the light is zero
- KEYWORD NOSTAR
- disable light star
- KEYWORD NOFLARES
- disable lens flares
- 0m1mDescription:0m
- Creates a spotlight. The rays emitted from a spotlight are constrained
- by a cone. The LOOKPOINT vector gives the center of the illuminated area.
- 0m1mDefault:0m
- SPOTLIGHT <0,0,0> [255,255,255] <0,0,1> 45 0 ?? ?? ?? 0
-
- 0m1mFLARE0m
-
- 0m1mTemplate:0m
- POS/A,RADIUS/A,COLOR,TYPE,FUNCTION,EDGES/N,TILT
- 0m1mArguments:0m
- FLOAT POS
- position of flare on light axis (in percent)
- FLOAT RADIUS
- radius of flare (in percent)
- COLOR COLOR
- color of flare
- KEYWORD TYPE [DISC|POLYGON]
- type of flare
- KEYWORD FUNCTION [PLAIN|RING|RADIAL]
- look of flare
- NUMBER EDGES
- number of edges of polygonal flare (3 - 8 edges possible)
- FLOAT TILT
- tilt angle of flare (only useful when polygonal flare)
- 0m1mDescription:0m
- A new lens flare is added to the last defined light source. Lens flares only
- appear when the light source is visible. They appear on an axis which runs
- from the center of the light source through the center of the screen. The
- position of the flare is relative to the light source it belongs to. If the
- position value is zero, the flare appears at the position of the light source.
- Greater values of pos move it towards the center of the screen. Here a some
- example values and their meaning:
-
- 0 : flare has the same position as the light source
- 100 : flare is in the middle of the screen
- 200 : flare is on opposite side of the light source
-
- You can also set pos to negative values, so the flare will appear behind the
- light source.
-
- The radius of the flare is relative to the horizontal render resolution.
- For example: A flare with radius of 20 % renderd with a resolution of 320x200
- will have a radius of 0.2*320 = 64 pixels.
-
- 0m1mtype0m can be one of the following identifiers:
-
- DISC
- A flare which looks like a disc
- POLYGON
- A flare which looks like a polygon. The number of edges can be set with
- edges.
-
- 0m1mfunction0m can be one of the following identifiers:
-
- PLAIN
- the color of the flare is uniform
- RING
- the flare looks like a ring
- RADIAL
- varies the color of the flare radial around the flare center
- 0m1mDefault:0m
- FLARE 50 10 [50,50,50] DISC PLAIN 5 0
-
- 0m1mSTAR0m
-
- 0m1mTemplate:0m
- SPIKES,RADIUS,HALORADIUS,INNERHALORADIUS,RANGE,RANDOM_SEED/N,SPIKEWIDTH,TILT
- 0m1mArguments:0m
- NUMBER SPIKES
- number of spikes (4 - 256)
- FLOAT RADIUS
- radius of star (in percent)
- FLOAT HALORADIUS
- radius of star halo (in percent relative to star radius)
- FLOAT INNERHALORADIUS
- radius of inner star halo (in percent relative to halo radius)
- FLOAT RANGE
- range between shortest and longest spike (in percent)
- NUMBER RANDOM_SEED
- Random seed value (0-32767)
- FLOAT SPIKEWIDTH
- width factor of spikes
- FLOAT TILT
- tilt angle of spikes
- 0m1mDescription:0m
- This command makes a light source visible. In reality, a light source looks
- like a star with several spikes getting out of the center of the light source.
- Usually there's a halo around it too.
-
- The radius (length of the longest spike) of the star is relative to the
- horizontal render resolution (see 3mFLARE0m).
-
- The radius of the halo is relative to the radius of the star itself. A value
- of 100 % means, that the halo has the same radius as the star.
- The radius of the inner halo is relative to the radius of the outer halo. A
- value of 100 % means, that the inner halo has the same radius as the outer
- halo.
-
- The range value determines the difference between the longest and the shortes
- spike of the star. A value of 0 % means that all spikes have the same length,
- whereas 100 % means that the shortest spike has zero length.
-
- The spike width value is a factor for the width of the spikes. Higher values
- generate wider spikes.
-
- 0m1mHow are the spikes computed ?0m
- The four spikes in the main directions (0, 90, 180, 270 degrees) always have
- maximum length. Spikes between them (45, 135, ... degrees for example) are
- shorter and again spikes between them are shorter and so on.
-
- If you specify a value for random_seed, the length of the spikes is randomly
- changed.
-
- 0m1mDefault:0m
- STAR 4 30 20 40 0 0 0.008
-
- 0m1mSTARTRENDER0m
-
- 0m1mTemplate:0m
- QUICK/S,DEPTH/N,FROM,TO,LEFT/N,TOP/N,RIGHT/N,BOTTOM/N,MINOBJECTS/N
- 0m1mArguments:0m
- KEYWORD QUICK
- render quick (no shadows, reflections and transparency)
- NUMBER DEPTH
- depth of generated 3moctree0m
- FLOAT FROM,TO
- time code (default 0,0). If you want 3mmotion blur0m you have to
- set FROM and TO to different values, else only set FROM.
- NUMBER LEFT,TOP,RIGHT,BOTTOM
- coordinates for rendering box. Picture is renderd only inside of
- rectangle.
- NUMBER MINOBJECTS
- minimum amount of objects for which no octree is generated
- 0m1mDescription:0m
- Starts rendering process. If you set QUICK shadows, reflections and
- transparency are not calculated. In very complex scenes it is useful to
- increase the octree depth in order to reach a better performance during
- the rendering process. But this can only be done with enough memory!
- Here are values for the file "chess.ray" renderd with a resolution of
- 160x128 on a A4000 with 25Mhz 68030 and 57MHz 68882:
-
- depth memory [MByte] init [mm:ss] cleanup [mm:ss] render [mm:ss] total [mm:ss]
- 2 1.38 00:12 00:02 09:24 09:38
- 3 1.13 00:14 00:04 03:58 04:16
- 4 1.55 00:22 00:08 01:50 02:20
- 5 2.35 00:41 00:26 01:15 02:22
- 6 5.70 01:35 02:38 01:06 05:19
-
- 0m1mDefault:0m
- STARTRENDER QUICK 3 0 0
-
- 0m1mTEXTUREPATH0m
-
- 0m1mTemplate:0m
- PATH/A
- 0m1mArguments:0m
- PATH
- pathname (format: 'path1;path2;...;pathn')
- 0m1mDescription:0m
- Defines the path where to search textures. More than one path may be included
- as long as they are separated by semi-colons.
- 0m1mExample:0m
- TEXTUREPATH 'path1;path2'
-
- 0m1mWINTOFRONT0m
-
- 0m1mTemplate:0m
- none
- 0m1mArguments:0m
- none
- 0m1mDescription:0m
- Brings RayStorm window in front
-
- 0m1mAREXX-COMMANDS FOR CREATING OBJECTS0m
-
- 3mBOX 0m creates a box
- 3mCSG 0m creates a CSG object
- 3mLOADOBJ 0m loads an Imagine TDDD-file
- 3mPLANE 0m creates a plane (ground in Imagine)
- 3mSPHERE 0m creates a sphere
- 3mTRIANGLE0m creates a triangle
-
- 0m1mBOX0m
-
- 0m1mTemplate:0m
- SURF/A,POS/A,LOWBOUNDS,HIGHBOUNDS,ALIGN,ACTOR
- 0m1mArguments:0m
- STRING SURF
- name of surface
- VECTOR POS
- center of box
- VECTOR LOWBOUNDS
- left, front, bottom edge relative to position
- VECTOR HIGHBOUNDS
- right, back, top edge relative to position
- VECTOR ALIGN
- alignment of box in degree
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Creates a box
- 0m1mDefault:0m
- BOX ?? <0,0,0> <-1,-1,-1> <1,1,1> <0,0,0> ??
-
- 0m1mCSG0m
-
- 0m1mTemplate:0m
- OPERATION
- 0m1mArguments:0m
- KEYWORD OPERATION [UNION|INTERSECTION|DIFFERENCE]
- the operation for this CSG object
- 0m1mDescription:0m
- Creates a new CSG object. The next two objects which are define after this
- command are take for the CSG object. Valid objects are SPHERE, BOX and
- a CSG object again.
- For more information see 3mthis0m chapter.
- 0m1mDefault:0m
- CSG UNION
- 0m1mExample:0m
- CSG DIFFERENCE
- CSG INTERSECTION
- SPHERE surf1 <-.5,0,0> 1
- SPHERE surf2 <-.5,0,0> 1
- BOX surf3 <0,0,0> <-2,-.5,-.5> <2,.5,.5>
-
- 0m1mLOADOBJ0m
-
- 0m1mTemplate:0m
- NAME/A,POS,ALIGN,SCALE,ACTOR,SURFACE
- 0m1mArguments:0m
- STRING NAME
- filename
- VECTOR POS
- position
- VECTOR ALIGN
- alignment (in degrees)
- VECTOR SCALE
- size factor
- STRING ACTOR
- name of actor
- STRING SURFACE
- name of surface to replace object surface
- 0m1mDescription:0m
- Loads an
- - Imagine TDDD-file
- loads attributes, triangles (with correct handling of sharp edges),
- perfect spheres, planes, brushes and textures
- - Autodesk 3D-Studio file
- loads attributes, triangles and generates sharp edges
- If you specify a surface, all surfaces of the object will have that surface
- (overriding any surfaces defined in the object file).
-
- 0m1mWhere to get Imagine object files?0m
- Look on FTP-servers which support AMINET. For example try out
- ftp.uni-paderborn.de
- Path: ftp/aminet/pub/gfx/3dobj/
- 0m1mWhere to get 3D-Studio object files?0m
- Try out these WWW-Pages:
- For Star wars fans: http://www.loop.com/~hhc/
- Mesh Mart: http://cedar.cic.net/~rtilmann/mm/index.htm
- Objects Archive: http://sunserver1.rz.uni-duesseldorf.de/~pannozzo/3ds.html
- 0m1mDefault:0m
- LOADOBJ ??? <0,0,0> <0,0,0> <1,1,1>
-
- 0m1mPLANE0m
-
- 0m1mTemplate:0m
- SURF/A,POS,NORM,ACTOR
- 0m1mArguments:0m
- STRING SURF
- name of surface
- VECTOR POS
- position
- VECTOR NORM
- normal of the plane
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Creates an infinite plane.
- 0m1mDefault:0m
- PLANE ??? <0,0,0> <0,1,0>
-
- 0m1mSPHERE0m
-
- 0m1mTemplate:0m
- SURF/A,POS/A,RADIUS/A,ACTOR
- 0m1mArguments:0m
- STRING SURF
- name of surface
- VECTOR POS
- center of sphere
- FLOAT RADIUS
- radius of sphere
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Creates a sphere
- 0m1mDefault:0m
- SPHERE ?? <0,0,0> 1
-
- 0m1mTRIANGLE0m
-
- 0m1mTemplate:0m
- SURF/A,P1/A,P2/A,P3/A,N1,N2,N3,ACTOR
- 0m1mArguments:0m
- STRING SURF
- name of surface
- VECTOR P1
- first corner
- VECTOR P2
- second corner
- VECTOR P3
- third corner
- VECTOR N1
- normal at first corner
- VECTOR N2
- normal at second corner
- VECTOR N3
- normal at third corner
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Creates a triangle with corners at position P1, P2 and P3. If you specify
- the normals, a phong shaded triangle otherwise a flat triangle is created.
- Computing the normals by hand is a difficult task, and should be done by
- utility programs.
-
- 0m1mAREXX-COMMANDS FOR SETTING ATTRIBUTES0m
-
- Every object must have a surface definition. With the following commands
- you can set the attributes of a surface. First you have to define the
- current surface with 'NEWSURFACE <name>'. Raystorm will set the attributes
- of the new surface to default values. Every following command such as
- AMBIENT or DIFFTRANS refers to the current surface and will override
- the corresponding default values.
-
- The following examples define two surfaces:
-
- NEWSURFACE RED
- AMBIENT [255,0,0]
- DIFFUSE [255,0,0]
-
- NEWSURFACE WATER
- DIFFUSE [0,0,255]
- REFRINDEX 1.333
-
- List of surface commands:
- 3mNEWSURFACE0m creates a new surface
- 3mAMBIENT 0m sets ambient color
- 3mBRUSH 0m adds a brush
- 3mDIFFTRANS 0m sets diffuse transmission color
- 3mDIFFUSE 0m sets diffuse color
- 3mFOGLEN 0m sets the foglength
- 3mIMTEXTURE 0m adds a Imagine texture
- 3mREFEXP 0m sets the specular reflection exponent
- 3mREFLECT 0m sets the specular reflectivity
- 3mREFRINDEX 0m sets the index of refraction
- 3mSPECTRANS 0m sets the specular transmission
- 3mSPECULAR 0m sets the specular color
- 3mTRANSEXP 0m sets the specular transmission exponent
- 3mTRANSLUC 0m sets the specular transmittance
- 3mTRANSPAR 0m sets the diffuce transmittance
-
- 0m1mAMBIENT0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- STRING COLOR
- color
- 0m1mDescription:0m
- Sets the ambient color of surface. Determines the color of the object in
- sections, which are in shadow.
- 0m1mDefault:0m
- AMBIENT [255,255,255]
-
- 0m1mBRUSH0m
-
- 0m1mTemplate:0m
- NAME/A,TYPE/A,WRAP/A,POS/A,ALIGN/A,SIZE/A,REPEAT/S,MIRROR/S,SOFT/S,ACTOR
- 0m1mArguments:0m
- STRING NAME
- filename of brush
- KEYWORD TYPE [COLOR|REFLECT|FILTER|ALTITUDE|SPECULAR]
- type of brush
- KEYWORD WRAP [FLAT|WRAPX|WRAPY|WRAPXY]
- brush wrapping method
- VECTOR POS
- position
- VECTOR ALIGN
- alignment
- VECTOR SIZE
- size of brush
- KEYWORD REPEAT
- if set, brush is repeated like a tile
- KEYWORD MIRROR
- if set, brush is mirrord (when REPEAT is specified)
- KEYWORD SOFT
- if set, brush color is interpolated softly
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Adds a brush to surface definition. A brush is a bitmap which is wrapped
- around an object. The specified file will be searched for in the current
- directory. If it wasn't found there and a 3mBRUSHPATH0m
- be searched there.
- If an error occures the command returns an error string. Supported formats
- are: IFF-ILBM, PNG, TGA and Datatypes.
-
- Constants for type:
- COLOR
- Replaces the surface color of the object with the image (sets 3mDIFFUSE0m and
- 3mAMBIENT0m color).
- REFLECT
- Map covers the surface and reflects environment (see 3mREFLECT0m)).
- FILTER
- Uses the white color to pass colors and the black area to hold back color
- with a variance between two colors (like with 3mTRANSPAR0m).
- ALTITUDE
- The red values of the brush are used to give the surface an appearence of
- bumpiness.
- SPECULAR
- The rgb values set the specular color of the surface (see 3mSPECULAR0m).
-
- Constants for wrap :
- FLAT
- The brush is projected to X-Y plane, the axis is in the middle of the
- brush area, length is the distance from the middle to the border.
- WRAPX
- The brush is wrapped around the x-axis, like on a cylinder. The left edge
- of the brush begins at the posititve X axis and wraps the brush around
- the cylinder from 'west' to 'east'.
- WRAPY
- Same as WRAPX, but wrapping is around the y-axis.
- WRAPXY
- Wrapping both: around X and Y axis. It is assumed, that the object is a
- sphere. The Y axis is the north/south pole of the spherical mapping. The
- left edge of the brush begins at the positive X axis and wraps the brush
- around the sphere from 'west' to 'east'. The brush covers the sphere
- exactly once.
- 0m1mExample:0m
- BRUSH "earth.iff" COLOR, WRAPXY <0,0,0> <0,0,0> <0.1,0.1,0.1>
-
- 0m1mDIFFTRANS0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the diffuse transmission color of surface. Same as diffuse reflection,
- but only used if the lightsource is on opposite side of surface. Only
- applied if tranlucency is not set to zero.
- 0m1mDefault:0m
- DIFFTRANS [0,0,0]
-
- 0m1mDIFFUSE0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the diffuse color of surface. The diffuse reflection falls off as
- the cosine of the angle between the normal and the ray to the light.
- Diffuse reflection determines the main color of the object (color in
- Imagine).
- 0m1mDefault:0m
- DIFFUSE [255,255,255]
-
- 0m1mFOGLEN0m
-
- 0m1mTemplate:0m
- VALUE/A
- 0m1mArguments:0m
- FLOAT VALUE/A
- foglength
- 0m1mDescription:0m
- Sets the foglength of the surface. The fog color is set with 3mTRANSPAR0m.
- 0m1mDefault:0m
- FOGLEN 0
-
- 0m1mIMTEXTURE0m
-
- 0m1mTemplate:0m
- NAME/A,POS,ALIGN,SIZE,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,ACTOR
- 0m1mArguments:0m
- STRING NAME
- name of Imagine texture file
- VECTOR POS
- position
- VECTOR ALIGN
- alignment
- VECTOR SIZE
- size of texture axis
- FLOAT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16
- texture parameters
- STRING ACTOR
- name of actor
- 0m1mDescription:0m
- Adds a Imagine texture to surface
- 0m1mDefault:0m
- defaults are taken from texture if not all paramters are given
- 0m1mExample:0m
- IMTEXTURE "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2>
-
- 0m1mNEWSURFACE0m
-
- 0m1mTemplate:0m
- NAME/A,BRIGHT/S
- 0m1mArguments:0m
- STRING NAME
- name
- KEYWORD BRIGHT
- if set, the brightness of the surface is everywhere the same
- 0m1mDescription:0m
- Defines a new surface.
-
- 0m1mREFEXP0m
-
- 0m1mTemplate:0m
- VALUE/A
- 0m1mArguments:0m
- FLOAT VALUE
- specular reflection exponent
- 0m1mDescription:0m
- Sets the specular reflection exponent of surface. Determines the size of
- the specularly reflected highlights, the higher the smaller the highlight
- (hardness in Imagine).
- 0m1mDefault:0m
- REFEXP 12.
-
- 0m1mREFLECT0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the specular reflectivity of surface
- 0m1mDefault:0m
- REFLECT [0,0,0]
-
- 0m1mREFRINDEX0m
-
- 0m1mTemplate:0m
- VALUE/A
- 0m1mArguments:0m
- FLOAT VALUE
- index of refraction
- 0m1mDescription:0m
- Sets the index of refraction of surface. Determines how the ray is refracted
- through transparent objects, the higher the more (index of refraction in
- Imagine).
- 0m1mDefault:0m
- REFRINDEX 1.
- 0m1mExamples:0m
- MATERIAL Index
- -------------------------------------
- Vacuum ...................... 1.00000 (exactly)
-
- Air (STP).................... 1.00029
- Acetone ..................... 1.36
- Alcohol ..................... 1.329
- Amorphous Selenium .......... 2.92
- Calspar1 .................... 1.66
- Calspar2 .................... 1.486
- Carbon Disulfide ............ 1.63
- Chromium Oxide .............. 2.705
- Copper Oxide ................ 2.705
- Crown Glass ................. 1.52
- Crystal ..................... 2.00
- Diamond ..................... 2.417
- Emerald ..................... 1.57
- Ethyl Alcohol ............... 1.36
- Flourite .................... 1.434
- Fused Quartz ................ 1.46
- Heaviest Flint Glass ........ 1.89
- Heavy Flint Glass ........... 1.65
- Glass ....................... 1.5
- Ice ......................... 1.309
- Iodine Crystal .............. 3.34
- Lapis Lazuli ................ 1.61
- Light Flint Glass ........... 1.575
- Liquid Carbon Dioxide ....... 1.20
- Polystyrene ................. 1.55
- Quartz 1 .................... 1.644
- Quartz 2 .................... 1.553
- Ruby ........................ 1.77
- Sapphire .................... 1.77
- Sodium Chloride (Salt) 1 .... 1.544
- Sodium Chloride (Salt) 2 .... 1.644
- Sugar Solution (30%) ........ 1.38
- Sugar Solution (80%) ........ 1.49
- Topaz ....................... 1.61
- Water (20 C) ................ 1.333
- Zinc Crown Glass ............ 1.517
-
- 0m1mSPECTRANS0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the specular transmission color of surface. Same as specular
- reflection, but only used if the lightsource is on opposite side of
- surface. Only applied if tranlucency is not 0.
- 0m1mDefault:0m
- SPECTRANS [255,255,255]
-
- 0m1mSPECULAR0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the specular color of surface. Specularly reflected highlights fall
- off as the cosine of the angle between the reflected ray and the ray to the
- light source (specular in Imagine).
- 0m1mDefault:0m
- SPECULAR [255,255,255]
-
- 0m1mTRANSEXP0m
-
- 0m1mTemplate:0m
- VALUE/A
- 0m1mArguments:0m
- FLOAT VALUE
- specular transmission exponent
- 0m1mDescription:0m
- Sets the specular transmission exponent of surface. Same as specular
- reflection exponent, but only used if the lightsource is on opposite
- side of surface.
- 0m1mDefault:0m
- TRANSEXP 12.
-
- 0m1mTRANSLUC0m
-
- 0m1mTemplate:0m
- VALUE/A
- 0m1mArguments:0m
- FLOAT VALUE
- specular transmittance
- 0m1mDescription:0m
- Sets the specular transmittance of surface
- 0m1mDefault:0m
- TRANSLUC 0
-
- 0m1mTRANSPAR0m
-
- 0m1mTemplate:0m
- COLOR/A
- 0m1mArguments:0m
- COLOR COLOR
- color
- 0m1mDescription:0m
- Sets the diffuse transmittance of surface
- 0m1mDefault:0m
- TRANSPAR [0,0,0]
-
- 0m1mAREXX-COMMANDS FOR ANIMATION CONTROL0m
-
- 3mALIGNMENT0m sets alignment
- 3mNEWACTOR 0m creates a new actor
- 3mPOSITION 0m sets position
- 3mSIZE 0m sets size
-
- 0m1mALIGNMENT0m
-
- 0m1mTemplate:0m
- FROM/A,TO/A,ALIGN/A,TYPE
- 0m1mArguments:0m
- FLOAT FROM,TO
- time interval
- VECTOR ALIGN
- alignment at the end of the interval
- KEYWORD TYPE [LINEAR]
- interpolation type (currently only linear)
- 0m1mDescription:0m
- Sets the alignment of the object. At time to, the actor will have this
- alignment.
- 'TYPE' can be one of the following identifiers:
- LINEAR the object moves on a straight line between the positions
- SPLINE the object moves on a spline curve between the positions. (NOT
- IMPLEMENTED YET)
-
- 0m1mNEWACTOR0m
-
- 0m1mTemplate:0m
- NAME/A,POS,ALIGN,SIZE
- 0m1mArguments:0m
- STRING NAME
- name of actor
- VECTOR POS
- initial position of actor
- VECTOR ALIGN
- initial alignment (in degrees)
- VECTOR SIZE
- initial size
- 0m1mDescription:0m
- Creates a new actor. Usually a NEWACTOR definition is followed by one or more
- POSITION, ALIGNMENT, SIZE commands which define the properties of the actor
- at a certain time.
- For more information on NEWACTOR, please click 3mhere0m.
- 0m1mDefault:0m
- NEWACTOR ??? <0,0,0> <0,0,0> <1,1,1>
-
- 0m1mPOSITION0m
-
- 0m1mTemplate:0m
- FROM/A,TO/A,POS/A,TYPE
- 0m1mArguments:0m
- FLOAT FROM,TO
- time interval
- VECTOR POS
- position at the end of the interval
- KEYWORD TYPE [LINEAR]
- interpolation type (currently only linear)
- 0m1mDescription:0m
- Sets the position of the object. At time to, the actor will be at this
- position.
- 'TYPE' can be one of the following identifiers:
- LINEAR the object moves on a straight line between the positions
- SPLINE the object moves on a spline curve between the positions. (NOT
- IMPLEMENTED YET)
-
- 0m1mSIZE0m
-
- 0m1mTemplate:0m
- FROM/A,TO/A,SIZE/A,TYPE
- 0m1mArguments:0m
- FLOAT FROM,TO
- time interval
- SIZE
- size at the end of the interval
- KEYWORD TYPE [LINEAR]
- interpolation type (currently only linear)
- 0m1mDescription:0m
- Sets the size of the object. At time to, the actor will have this size.
- 'TYPE' can be one of the following identifiers:
- LINEAR the object moves on a straight line between the positions
- SPLINE the object moves on a spline curve between the positions. (NOT
- IMPLEMENTED YET)
-
- 0m1mWHAT IS AN ACTOR?0m
-
- The statement:
-
- NEWACTOR name, position, alignment, size
-
- defines a "virtual object" that can be associated with "real" objects,
- including the Camera and the Lights objects. Position, alignment, and
- size values are the initial values of an actor.
-
- The object that is associated with a named actor behaves exactly like the
- actor. When the actor is sized, rotated, or moved; the associted object is
- sized, rotated, or moved accordingly. It is as though the actor and the
- object that is associated with it are connected by a rod.
-
- While the coordinates of the object that is associated with an actor are
- always defined in an absolute way in reference to the set world; its
- movements - when associated with an actor - takes place with respect to
- the coordinates of the actor. The coordinates of the actor are defined in
- the NEWACTOR statment and can have default values.
-
- The position, alignment, and size values that follow the NEWACTOR statement
- are the final values of an actor. By defining time from and to values, a time
- increment is defined by which the actor is resized, rotated, or moved from
- the initial values to the final values. By associating objects to an actor,
- and rendering a picture at a particular time, or through a period of time,
- animation and/or motion blur effects are achieved.
-
- 0m1mAREXX-ERRORS0m
-
- These values are returned when something went wrong, you can get the
- error string with the command 3mGETERRORSTR0m.
-
- 0m1mApplication and parser errors0m
-
- Here are the errors returned from the command parser and the application
- itself.
-
- 100 Wrong screen resolution
- Both components of the screen resolution have to be higher than one.
- 101 Not enough memory
- Allocation of memory failed.
- 102 Limitations of demo version reached
- The demo version is limited to a resolution of 160x128.
- 103 Unknown brush mapping type
- You specified an unknown mapping method for the 3mBRUSH0m command.
- 104 Unknown brush wrapping method
- You specified an unknown wrapping method for the 3mBRUSH0m command.
- 105 Invalid time intervall
- One component of a time intervall was negative or the beginning time
- was later than the end.
- 106 Unknown interpolation method
- You specified an unknown interpolation method for the 3mPOSITION0m,
- 3mALIGNMENT0m or 3mSIZE0m command.
- 107 No picture renderd
- There is no picture for 3mSAVEPIC0m to save because you renderd none
- or called 3mCLEANUP0m before.
- 108 Can't open screen
- The 3mDISPLAY0m command was unable to open the screen
- (!!! THIS COMMAND ISN'T RELEASED IN THIS VERSION YET !!!).
- 109 Can't open raystorm.library (Only one copy of RayStorm can run at a time)
- RayStorm failed to open raystorm.library
- 110 Can't open intuition.library
- RayStorm failed to open intuition.library (at least version 37 is
- needed)
- 111 Can't open window
- RayStorm failed to open the window.
- 112 Can't open muimaster.library
- RayStorm failed to open muimaster.library (at least version 8 is
- needed)
- 113 Invalid vector definition
- The specified vector has the wrong format (must be '<x,y,z>').
- 114 Invalid color definition
- The specified color has the wrong format (must be '[r,g,b]').
- 115 Invalid region definition
- The specified region is out of range.
- 116 No light defined
- You tried to add lens flares or a light star and there is no previously
- defined light source.
- 117 Unknown flare type
- You specified an unknown type for the 3mFLARE0m command.
- 118 Unknown flare function
- You specified an unknown function for the 3mFLARE0m command.
- 119 Only one object for a CSG object has been defined
- CSG objects always need two objects to operate on. For further informaions see
- 3mCGS0m.
- 120 Unknonw CSG operator
- You specified an unknown operator for the 3mCSG0m command.
-
- 0m1mInternal errors0m
-
- This are errors of the renderer.
-
- 1 Not enough memory
- Allocation of memory failed.
- 2 Limitations of demo version reached
- The demo version is limited to a resolution of 160x128.
- 3 Wrong screen resolution
- Both components of the screen resolution have to be higher than one.
- 4 Error in triangle definition
- It's impossible to generate a triangle with the specified coordinates
- (see 3mTRIANGLE0m).
- 5 The view and up directions are identical?
- You specified a view-up-vector for the 3mCAMERA0m command which is identical
- to the view direction.
- 6 Not enough memory for screen buffer
- The allocation of the screen buffer failed.
- 8 Can't open Imagine texture file
- RayStorm failed to open the specified Imagine texture file, check
- filename and path.
- 9 Can't open brush file
- RayStorm failed to open the specified brush file, check
- filename and path.
- 10 Error initializing Imagine texture
- An error occured as RayStorm tried to initialize a Imagine texture.
- 11 Can't open picture
- RayStorm failed to open the specified picture file, check filename
- and path.
- 12 Error reading picture
- An error occured while RayStorm read a picture file.
- 13 Can't open picture type file ('modules/picture/types')
- RayStorm failed to open the typefile. The typefile is needed to
- identify the filetypes of the pictures. RayStorm was unable to open
- the file 'modules/picture/types'.
- 14 Error reading picture type file
- An error occured while RayStorm read the picture type file, maybe the
- file is damaged.
- 14 Unknown picture format
- RayStorm was unable to recognize the format of the picture file.
- 16 An error occcured while invoking picture handler
- The used picture handler returned a error.
- 17 Can't open object
- RayStorm failed to open the specified object file, check filename
- and path.
- 18 Error reading object
- An error occured while RayStorm read a object file.
- 19 Can't open object type file ('modules/object/types')
- RayStorm failed to open the typefile. The typefile is needed to
- identify the filetypes of the objects. RayStorm was unable to open
- the file 'modules/object/types'.
- 20 Error reading object type file
- An error occured while RayStorm read the object type file, maybe the
- file is damaged.
- 21 Unknown object format
- RayStorm was unable to recognize the format of the object file.
- 22 An error occcured while invoking object handler
- The used object handler returned a error.
- 23 Actor not defined
- The specified actor name does not exist.
- 24 Surface not defined
- The specified surface name does not exist.
- 25 Depth of octree too big (max. 6)
- The octree depth is limited to a depth of 6.
- 26 Antialiasing value too big (max. 8)
- The value of the 3mANTIALIAS0m command is limited to 8.
- 27 Invalid time intervall
- One component of a time intervall was negative or the beginning time
- was later than the end.
- 28 No picture renderd
- There is no picture for 3mSAVEPIC0m to save because you renderd none
- or called 3mCLEANUP0m before.
- 29 Distribution value too big (max. 8)
- The value of the 3mDISTRIB0m command is limited to 8.
- 30 Wrong error number
- The error number for 3mGETERRORSTR0m is out of range.
- 31 Unknown Parameter
- A RSI-function was called with an unknown parameter (should nerver occur).
-
- 0m1mEXAMPLES0m
-
- We have included several demos in the directories 'arexx' and 'examples'
- to show how to use RayStorm.
-
- In the 'arexx' directory are examples scripts which show the usage of
- RayStorm with ARexx. Start them simply by typing 'rx ???.ray' in a shell
- (???.ray is the name of the script).
-
- In the 'examples' directory are C-programs which show the usage of
- RayStorm directly with a program. They can only be run from a shell.
- These programs are producing a couple of pictures no animation, which must
- be glued together with a utility like MainActor.
-
- 0m1mTUTORIALS0m
-
- If you use RayStorm for the first time, then it would be a good idea to do
- the following tutorials:
-
- 3mSimple scene 0m
- 3mBouncing ball0m
- 3mMotion blur 0m
-
- 0m1mTutorial: Simple scene0m
-
- Now we will create a very famous scene. A sphere over a checkerboard! Ok, it
- may be boring, but it's good for the absolute beginner to get an
- impression of building a scene.
-
- Here we go:
-
- 1. In the drawer 'ARexx' of the RayStorm directory there is a file named
- 'default.ray'. This is a default form for RayStorm ARexx scripts. You can
- use this form to write your own scripts.
- We'll use this file as a default for our animation script. Copy this file
- to the file 'simple.ray'. After this load the file 'simple.ray' to your
- favorite text editor (e.g GoldEd or CygnusEd).
-
- 2. To view the scene, we need a camera. Insert after the line 'address
- RAYSTORM' the line:
-
- 0m3m '3mSETCAMERA0m <6,1.5,-1.5> <0,0,0> <0,1,0>'0m
-
- This sets the camera to position <6,1.5,-1.5>. The camera points to
- <0,0,0> and the view-up vector is <0,1,0>. Note that you don't have to
- specify every single parameter. Every command has default values. Refer
- to the description of a command to find out the default values.
-
- 3. Nothing can be seen without a lightsource.
- Go to the next line and type:
-
- 0m3m '3mPOINTLIGHT0m <0,50,0> [255,255,255] SHADOW'0m
-
- The sphere is illuminated from above with white light.
-
- 4. Before placing the objects in the scene, you have to define their
- surfaces.
- Insert this line:
-
- 0m3m '3mNEWSURFACE0m planesurf'0m
-
- This creates a surface with name planesurf. The plane has a checkered
- surface, so insert:
-
- 0m3m '3mIMTEXTURE0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2>'0m
-
- 5. That was the plane texture. Let 's go over to sphere texture.
- Add:
-
- 0m3m '3mNEWSURFACE0m spheresurf'0m
-
- The sphere has a mirrored surface. To simulate a perfect mirror, type
-
- 0m3m '3mREFLECT0m [255,255,255]'0m
-
- 6. Now we can add the objects to the scene:
-
- 0m3m '3mSPHERE0m spheresurf <0,0.5,0> 1'0m
-
- This creates a sphere on position <0,0.5,0> and radius 1.
- Add the plane:
-
- 0m3m '3mPLANE0m planesurf'0m
-
- The default values for the position and the normal vector fit to our
- scene, so we can take them over.
-
- 7. Let's make an end to the definitions and render the scene!
- Type:
-
- 0m3m '3mSTARTRENDER0m'0m
-
- 8. Finally we may not forget to save the picture, so add:
-
- 0m3m '3mSAVEPIC0m simple.iff'0m
-
- which will save the renderd picture in the current directory as a
- IFF-ILBM file.
- The last step is to free all the memory with the command 'CLEANUP'. Add:
-
- 0m3m 3mCLEANUP0m'0m
-
- 9. Start the script from a shell-window with the sequence 'rx simple.ray'.
- RayStorm will now generate your picture. When RayStorm finished the work
- start your favourite viewer-program, load the file and have a look at
- it.
- Looks very monochrome!!
- To make the world colorful, we make a red checker and set the sky to
- blue. A blue sky can be done by setting the world's background color.
- 10. Before 'SETCAMERA' insert:
-
- 0m3m '3mSETWORLD0m [30,30,255]'0m
-
- Add
-
- 0m3m '3mDIFFUSE0m [155,0,0]'0m
-
- to the surface planesurf (this defines one checker color), the other one
- must be set in the 'IMTEXTURE' command, so change it to
-
- 0m3m '3mIMTEXTURE0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2> 255 0 0'0m
-
- (Note that '255 0 0' describes a color, but is not embedded in < >,
- because the checker color belongs to the texture parameters which are
- all floats.)
-
- 11. Render the scene once again, and view it.
-
- That's the end of the tutorial! Make some changes to the scene file and
- play around with the parameters to see their effects.
-
- 0m1mTutorial: Bouncing ball0m
-
- The goal of this tutorial is to show you how to generate little animations.
- At the end of this tutorial you'll have a animation where the earth rotates
- and bounces on a rotating plane with a white checker texture on the top and
- a red checker on the bottom. If you have a fast computer you can also
- generate the animation with motion blur.
-
- O.k. here we go:
-
- 1. In the drawer 'ARexx' of the RayStorm directory there is a file named
- 'default.ray'. This is a default form for RayStorm ARexx scripts. You can
- use this form to write your own scripts.
- We will use this file as a default for our animation script. Copy this file
- to the file 'bounce.ray'. After this load the file 'bounce.ray' to your
- favorite text editor (e.g GoldEd or CygnusEd).
-
- 2. First we define some values: the acceleration of the ball and the amount
- of frames to generate.
- RayStorm has three commands to set the paths where it searchs the files
- it needs. We use a brush for the surface of the ball and a texture for
- the surface of the ground.
- To do this we have to insert after the command 'ADDRESS RAYSTORM' the
- lines:
-
- 0m3m g = .2
- frames = 17
-
- '3mBRUSHPATH0m /brushes'
- '3mTEXTUREPATH0m /textures'0m
-
- It's the same if you write the commands in upper case or lower case.
- But it's important to enclose all commans in quotes because ARexx tries
- to interpret the line before it sends it. It may happen that the line is
- changed and RayStorm don't do the things you want.
-
- 3. Next we set the screen resolution. For the first experiments we choose
- a low resolution of 160x128 pixels. Insert the line:
-
- 0m3m '3mSETSCREEN0m 160 128'0m
-
- 4. Now we set the camera parameters. The first three values determine the
- position of the camera. We want to place it so that we can see the ball
- all over the time. The next values set the viewpoint of the camera, this
- is the point the camera aims to. The next values determine the view up
- vector. And the last two values determine the field of view. To get a
- pixel aspect of 1:1 we have to set them to 25 and 20 degree.
-
- 0m3m '3mSETCAMERA0m <0,10,40> <0,5,0> <0,1,0> 25 20'0m
-
- 5. We want to have a bright blue background for our animation. The
- background and the global ambient color is set with the 'SETWORLD'
- command. We want to set the ambient color to a dark gray, if this color
- is to bright the scene will look washed out and the objects appear flat.
- Insert the line:
-
- 0m '3mSETWORLD0m [10,30,200] [10,10,10]'0m
-
- 6. The illumination is an important part of a scene. We want to place a
- pointlight near the camera. Add the line:
-
- 0m '3mPOINTLIGHT0m <5,10,50>'0m3m
-
- 7. Now we define the actor for the plane. We want to rotate it around the
- Z-axis. Insert the lines:
-
- 0m3m '3mNEWACTOR0m groundactor'
- '3mALIGNMENT0m 0 ' frames+2 ' <0,0,360>'0m
-
- 7. Now we define the surface for the plane and the plane itself. We make it
- a little reflective and apply a checker texture. The surface 'groundtop'
- is for the top of the plane and the surface 'groundbottom' is for the
- bottom of the surface. The plane itself consits of four triangles. Two
- fo the top and two for the bottom. Insert the lines:
-
- 0m3m '3mNEWSURFACE0m groundtop'
- '3mDIFFUSE0m [255,255,255]'
- '3mSPECULAR0m [0,0,0]'
- '3mREFLECT0m [50,50,50]'
- '3mIMTEXTURE0m checker.itx <0,-1,0> <0,0,0> <10,10,10> ACTOR groundactor'
-
- '3mNEWSURFACE0m groundbottom'
- '3mDIFFUSE0m [255,0,0]'
- '3mSPECULAR0m [0,0,0]'
- '3mREFLECT0m [50,50,50]'
- '3mIMTEXTURE0m checker.itx <0,-1,0> <0,0,0> <1.5,1.5,1.5> ACTOR groundactor'
-
- '3mTRIANGLE0m groundtop <-2,0,-2> <2,0,-2> <2,0,2> ACTOR groundactor'
- '3mTRIANGLE0m groundtop <-2,0,-2> <-2,0,2> <2,0,2> ACTOR groundactor'
- '3mTRIANGLE0m groundbottom <-2,-.01,-2> <2,-.01,-2> <2,-.01,2> ACTOR groundactor'
- '3mTRIANGLE0m groundbottom <-2,-.01,-2> <-2,-.01,2> <2,-.01,2> ACTOR groundactor'0m
-
- 8. Next we define the motion of the ball. It starts at a height of 10 and
- accelerates until it bounces on the plane, changes it's direction and
- the motions ends as the ball is back at he start point. Additional the
- ball rotates around the Y-axis. Add the following sequence to your script:
-
- 0m3m speed = -g
- pos = 10
- '3mNEWACTOR0m ballactor <0,'pos',0>'
- do i=0 to frames
- '3mPOSITION0m ' i i+1 '<0,'pos',0>'
- pos = pos+speed
- if pos<=1 & speed<0 then
- speed = -speed
- else
- speed = speed-g
- end
- '3mALIGNMENT0m 0 ' frames+2 ' <0,360,0>'0m
-
- 9. Now we define the surface for the ball and the ball itself. The only thing
- we must do is to map a earth styled brush map to a sphere. To reach this
- goal the position of the brush must be set to the middle of the sphere
- and the size must be small enough to be completely inside the sphere.
- This are the lines to define the ball:
-
- 0m3m '3mNEWSURFACE0m ball'
- '3mBRUSH0m earth.iff COLOR WRAPXY <0,10,0> <0,0,0> <.1,.1,.1> ACTOR ballactor'
-
- '3mSPHERE0m ball <0,10,0> 1 ACTOR ballactor'0m
-
- 10. If your computer is fast enough you can insert the follwing lines:
-
- 0m3m '3mANTIALIAS0m 2'
- '3mDISTRIB0m 2'0m
-
- 'ANTIALIAS' improves the quality of the picture; 2 or 3 are normal values,
- higher values don't improve the quality significant.
- A value higher than one for 'DISTRIB' switches {"motion blur" link Motion Blur} on.
-
- 11. At this the we have finished the definitions and now can render the single
- frames. If youn want the reflections of the ball on the plane you have
- to delete the keyword 'QUICK', because RayStorm renders no reflections in
- quick mode. The frame time is set with 'FROM' and 'TO'. We save the frames
- as IFF-ILBM pictures with the names 'bounce0001.iff' ... 'bounceXXXX.iff'.
- The last step is to free all the memory with the command 'CLEANUP'. Add
- these lines:
-
- 0m3m do i=0 to frames
- '3mSTARTRENDER0m QUICK FROM 'i' TO 'i+1
- '3mSAVEPIC0m bounce' || RIGHT(i,4,0) || '.iff'
- end
-
- '3mCLEANUP0m'0m
-
- 12. Start the script from a shell-window with the sequence 'rx bounce.ray'.
- RayStorm will now generate your frames. When RayStorm finished the work
- you must glue the pictures together to get the animation.
-
- That's all. Have fun!
-
- 0m1mTutorial: Motion blur0m
-
- In this tutorial we show you how to make animations and how to use motion
- blur.
- To animate objects we need ACTORs. An ACTOR can be seen as a virtual object
- which can have a certain position/alignment/size at a certain time. ACTORs can
- be used for keyframe animation by giving control points which RayStorm can
- interpolate (only linear for now. Spline interpolations will be implemented
- later).
- You can assign an ACTOR to one or more real objects. An object with an actor
- assigned to it will follow all actions the actor does. Let's take the sphere
- from the second tutorial and move it to direction of the camera.
- Type following:
-
- 0m3m'3mSETCAMERA0m <6,1.5,-1.5> <0,0,0><0,1,0>'
- '3mPOINTLIGHT0m <30,50,30> [255,255,255] SHADOW'0m
-
- you can add POSITION, ALIGNMENT and SIZE commands after NEWACTOR
- (similar to the surface commands after NEWSURFACE)
-
- 0m3m'3mNEWACTOR0m actor'
- '3mPOSITION0m 0 1 <3,0,0.4>'
-
- '3mNEWSURFACE0m planesurf'
- '3mDIFFUSE0m <255,30,30>'
- '3mIMTEXTURE0m "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2> 155 25 0'
-
- '3mNEWSURFACE0m spheresurf'
- '3mREFLECT0m <255,255,255>'
-
- '3mSPHERE0m spheresurf <0,1,0> 0.7 actor'
- '3mPLANE0m planesurf'0m
-
- You can make an animation by a series of STARTRENDER/SAVEPIC combinations. Our
- little movie shall consist of 6 frames, so we will subdivide our time intervall
- (1 unit) and make a photo every 0.2 time units. The STARTRENDER command has the
- option to render a picture within a certain time intervall. That can be
- compared with the shutter time of a real camera. The camera of RayStorm records
- all movements of the objects in the scene within that time intervall which
- results in a blurred scene. At the beginning we do no motion blur, so we set
- the start and the end time to the same value. (Which means no shutter time).
-
- Add this code and execute it:
-
- 0m3mdo i=0 to 1 step 0.2
- '3mSTARTRENDER0m QUICK FROM 'i' TO 'i
- '3mSAVEPIC0m sphere' || RIGHT(i*5,4,0) || '.iff'
- end
-
- '3mCLEANUP0m'0m
-
- You can make a movie out of it using an animator program such as MainActor.
- Now we introduce one of the advanced features of RayStorm: Motion Blur
- Replace the commands above by the following lines:
-
- 0m3m/* when doing motion blur you *MUST* add the distrib command +/
-
- '3mDISTRIB0m 3'
-
- /* shutter time is 0.2 */
-
- do i=0 to 0.8 step 0.2
- '3mSTARTRENDER0m QUICK FROM 'i' TO 'i+0.2
- '3mSAVEPIC0m sphere' || RIGHT(i*5,4,0) || '.iff'
- end
-
- '3mCLEANUP0m'0m
-
- For each frame, the camera opens the shutter 0.2 time units long and records
- what's happening. As you can see, an animation with motion blur gives a better
- visual effect.
- Again feel free to change the parameters.
-
- 0m1mTEXTURES0m
-
- Textures are mathematically generated patterns which can be applied to the
- surface of an object.
- There are several textures in the directory 'textures'.
-
- 3m Bump 0m
- 3m Checker 0m
- 3m Fire 0m
- 3m Linear 0m
- 3m Marble 0m
- 3m Radial 0m
- 3m Stars 0m
- 3m Wood 0m
-
- 0m1mBUMP0m
-
- This texture applies bumps to the surface.
- Size of texture determines size of the bumps.
-
- 0m1mParameters:0m
-
- 1: X bump size
- 2: Y bump size
- 3: Z bump size
- set the 'depth' of the bumps.
-
- Example:
- sphere with radius 1
- 0m3mIMTEXTURE bump.itx <0,0,0> <0,0,0> <.3,.3,.3> 1 1 10m
- 3mPicture0m
-
- 0m1mCHECKER0m
-
- This texture applies thw ell known checker pattern to the surface.
- 0m1mAttention!
- If you apply a checker texture to a plane, the plane may not be at the same
- position on which the checker changes its color. Otherwise you get a noisy
- texture due to rounding errors.0m
-
- 0m1mParameters:0m
-
- 1: Color Red
- 2: Color Green
- 3: Color Blue
- Color of the checkers, other color is taken from object.
-
- 4: Reflect Red
- 5: Reflect Green
- 6: Reflect Blue
- Reflect color of the checkers.
-
- 7: Filter Red
- 8: Filter Green
- 9: Filter Blue
- Filter color of the checkers.
-
- 0m1mExample:0m
- 0m3mIMTEXTURE "checker.itx" <0,0.1,0> <0,0,0> <2,2,2> 255 0 00m
- 3mPicture0m
-
- 0m1mFIRE0m
-
- This texture generates a pattern which look like fire. It's based on the book
- 3mTexturing and Modeling0m.
-
- 0m1mParameters:0m
-
- 1: Chaos Scale higher values make sharper flames
- 2: Chaos Offset higher values make more flames with bottom color (white)
- lower values more top colored flames (red)
- 3: Octaves determines the frequency of the flames
- 4: Flameheight
- 5: Flameamplitude
- 6: Bottom Red
- 7: Bottom Green
- 8: Bottom Blue is the bottom fire color (white)
- 9: Middle Red
- 10: Middle Green
- 11: Middle Blue is the middle color (yellow)
- 12: Top Red
- 13: Top Green
- 14: Top Blue is the top color (red)
- 15: Transparent Top if not 0 the texture gets more transparent from bottom
- to top
- Example:
- plane with
- 0m3mIMTEXTURE fire.itx <0,0,0> <0,0,0> <1,1,1>0m
- 3mPicture0m
- 3mHigh Chaos Scale0m
-
- 0m1mLINEAR0m
-
- This texture varies the color of the object in the y-direction of the
- texture.
-
- 0m1mParameters:0m
-
- 1: Color Red
- 2: Color Green
- 3: Color Blue
- color to interpolate to.
-
- 4: Reflect Red
- 5: Reflect Green
- 6: Reflect Blue
- reflection to interpolate to.
-
- 7: Filter Red
- 8: Filter Green
- 9: Filter Blue
- filter to interpolate to.
-
- 0m1mExample:0m
- 0m3mIMTEXTURE "linear.itx" <0,0.1,0> <0,0,0> <2,2,2> 0 0 2550m
- 3mPicture0m
-
- 0m1mWOOD0m
-
- This texture applies a wood like texture to the surface.
- Size of texture determines size of wood.
-
- 0m1mParameters:0m
-
- 1: Color Red
- 2: Color Green
- 3: Color Blue
- Color. Other color is taken from object.
-
- 4: Reflect Red
- 5: Reflect Green
- 6: Reflect Blue
- Reflection color.
-
- 7: Filter Red
- 8: Filter Green
- 9: Filter Blue
- Filter color.
-
- 10: Octave
- The higher the octave the noisier are the wood rings.
-
- 11: Frequency
- The higher the frequency the smaller the wood rings.
-
- 0m1mExample:0m
- cube with size 2
- 0m3mIMTEXTURE wood.itx <0,0,0> <0,0,0> <1,1,1> 255 255 50 0 0 0 0 0 0 2 40m
- 3mPicture0m
-
- 0m1mMARBLE0m
-
- This texture applies a marble like texture to the surface.
- Size of texture determines size of bumps.
-
- 0m1mParameters:0m
-
- 1: Color Red
- 2: Color Green
- 3: Color Blue
- Color. Other color is taken from object.
-
- 4: Reflect Red
- 5: Reflect Green
- 6: Reflect Blue
- Reflection color.
-
- 7: Filter Red
- 8: Filter Green
- 9: Filter Blue
- Filter color.
-
- 10: Octave
- The higher the octave the noisier is the texture.
-
- 0m1mExample:0m
- cube with size 2
- 0m3mIMTEXTURE marble.itx <0,0,0> <0,0,0> <.5,.5,.5> 150 50 50 0 0 0 0 0 0 70m
- 3mPicture0m
-
- 0m1mRADIAL0m
-
- This texture varies the color of the object radial around the texture axis.
-
- 0m1mParameters:0m
-
- 1: Start radius
- Interploation start radius.
-
- 2: End radius
- Interploation end radius.
-
- 3: Color Red
- 4: Color Green
- 5: Color Blue
- Color to interpolate to.
-
- 6: Reflect Red
- 7: Reflect Green
- 8: Reflect Blue
- Reflection to interpolate to.
-
- 9: Filter Red
- 10: Filter Green
- 11: Filter Blue
- Filter to interpolate to.
-
- 0m1mExample:0m
- 0m3mIMTEXTURE "radial.itx" <0,0,0> <0,0,0> <1,1,1> 1 2 255 0 00m
- 3mPicture0m
-
- 0m1mSTARS0m
-
- This texture applies randomly stars to the surface. Cannot be used in
- animations!
-
- 0m1mParameters:0m
-
- 1: Color Red
- 2: Color Green
- 3: Color Blue
- Color of the stars.
-
- 4: Density
- Star density. The higher the more stars (0. - 1.).
-
- 0m1mExample:0m
- 0m3mIMTEXTURE "stars.itx" <0,0,0> <0,0,0> <1,1,1> 255 255 255 0.10m
- 3mPicture0m
-
- 0m1mKNOWN BUGS0m
-
-
- 0m1mDISCLAIMER0m
-
- THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
- LAW. EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
- OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
- EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
- ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
- SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
- SERVICING, REPAIR OR CORRECTION.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
- ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
- AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
- SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
- INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
- DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
- OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
- SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGES.
-
- 0m1mCOPYRIGHT0m
-
- The RayStorm package is Copyright 1995-97 by Andreas Heumann and Mike Hesser.
- All Rights Reserved. It is released under the concept of `Shareware'.
-
- The archive of RayStorm may only be distributed in unmodified form. No files
- may be added, changed or removed. You may not charge for this archive, other
- than the cost of the media and duplication fees. Distribution is allowed in
- all forms, such as BB systems, floppy or compact disks, and ftp sites.
-
- 0m1mCREDITS0m
-
- We want to thank the following persons:
-
- - Bernhard Moench - chairman of Plasma Pictures (a great Amiga club)
-
- Address:
-
- Plasma Pictures
- Reality and Imagination!
-
- Bernhard Moench
- Regensburger Strasse 28c
-
- 10777 Berlin
- GERMANY
-
- - Stephan Dorenkamp - for testing
-
- - Maan Hamze - for testing, hundrets of suggestions and bugreports...
- ... and many many E-Mails
-
- - Klaus Melchior for his listtree class
-
- - Stefan Stunz for MUI
-
- - Thanks to all registrated users for the support of the shareware concept.
-
- 0m1mREGISTER0m
-
- If you like RayStorm use the registration programm to register.
- Fill out the registration form and press the 'Print' button.
- If the printer is installed correctly, the registration is printed out.
- You can get information about the current agreements by pressing the 'Info'
- button.
-
- 0m1mAUTHORS0m
-
- For bug reports, comments, suggestions ... you can contact us at the
- following addresses (E-mail prefered).
-
- Amiga-version:
-
- Andreas Heumann
-
- E-mail: calvin@sol.wohnheim.uni-ulm.de (or heumann@hugo.rz.fh-ulm.de)
- S-mail: Heilmeyersteige 105
- 89075 Ulm
- Germany
-
- PC-version:
-
- Mike Hesser
-
- E-mail: calvin@sol.wohnheim.uni-ulm.de
- S-mail: Heilmeyersteige 105
- 89075 Ulm
- Germany
-
- 0m1mPC-VERSION0m
-
- The PC version is available on the Internet from our 3mhomepage0m.
-
- 0m1mHISTORY0m
-
- 3mRayStorm Scenario 0m
- 3mRayStorm Script 0m
- 3mRayStorm Raytracer0m
-
- 0m1mHISTORY0m
-
- version 1.0b (27-August-96)
- - initial release.
-
- version 1.1 (04-October-96)
- - save and load materials in attribute requester
- - create cube, sphere, plane, tube, cone and torus mesh objects
- - fixed bug with color requesters (colors changed every call)
- - string gadgets now advance to next/prev gadget when return is pressed
- - improved zooming with the mouse
- - added enable button for render area
- - fixed problems with KS-versions less than 3.0 (<39)
- - key 't' opens settings requester
- - added new preview resolutions (NTSC 80x50,PAL 80x64,VGA 80x60)
- - if more than one object is selected the object for attributes can be
- selected by the browser
- - implemented two browser modes
- - added center view with 'R-Amiga - .'
- - joined settings and transform requester
- - several bugfixes
- - improved object scaling with mouse
- - can now scale external objects
-
- version 1.2 (29-November-96)
- - forgot to scale child objects of external objects
- - added ok button to render requester
- - added 3mcamera to viewer0m
- - added hierarchical object browser
- - ask for rendering of scenes with no light sources
- - bugfix: it was impossible to track and to set the opening angle of a
- spotlight
- - convert external to scene objects
- - added RayStorm object file format (RSOB)
- - fixed problem with vertical stripes with 020-version
- - fixed problem with screen update
- - coordinate display even if no object is translated
- - focal distance of camera can automatically be set to camera-track distance
- - added preview to attributes requester
- - improved color selection for rendering preview window
- - added show and save button to registration program
- - added some materials
- - added lens effects (flares, light star)
-
- version 1.8 (16-February-97)
- - minimum amount of objects for octree is now setable in the 3mRender Settings0m
- requester
- - added spikewidth to visible light star
- - added new/load/save buttons
- - all objects can track each other
- - added undo and redo
- - added box object
- - added status bar
- - added tilt angle to light star
- - the render window can now be set with the mouse
- - objects can now be selected with a selection box
- - raw object loader works now correctly
- - lens flares in the requester are now selectable with the mouse
-
- 0m1mHISTORY0m
-
- version 1.02 (16-August-95)
- - added BRIGHT-flags for surface
- - deleted TRANSATTU
-
- version 1.081 (08-October-95)
- - added listview for history
-
- version 1.13 (01-November-95)
- - now more than one path with PATH-commands possible
-
- version 1.16 (09-January-96)
- - added 'SOFTSHADOW' to 'DISTRIB'
- - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
-
- version 1.2 (29-February-96)
- - bugfix 'ANTIALIAS' command: parameter CONTRIB produced error 30
-
- version 1.22 (25-April-96)
- - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
-
- version 1.26 (04-October-96)
- - fixed a bug which caused the program to crash on exit
-
- version 1.3 (29-November-96)
- - added '3mFLARE0m' and '3mSTAR0m'
-
- version 1.8 (16-February-97)
- - added 'MINOBJECTS' to '3mSTARTRENDER0m'
- - added 'SPIKEWIDTH' to '"{"STAR" link STAR}'
- - added 'NOSTAR' and 'NOFLARES' to '3mPOINTLIGHT0m' and '3mSPOTLIGHT0m'.
- - added '3mBOX0m' command
- - added '3mCSG0m' command
- - bugfix: 'RANDJIT'-flag of '3mSETWORLD0m' has been ignored.
- - added 'TILT' to '3mSTAR0m'
-
- 0m1mHISTORY0m
-
- version 1.0 (09-July-95)
- - initial release.
-
- version 1.01 (15-August-95)
- - added soft shadows
- - added random jitter
- - added brush repeat and mirror
-
- version 1.02 (16-August-95)
- - bugfix: altitude mapping -> black object: fixed
- - bugfix: loading of TDDD-objects with brushes crashed: fixed
- - added backdrop picture
- - added BRIGHT-flags for surface
- - added fog
-
- version 1.03 (17-August-95)
- - bugfix: sphere intersection test: fixed
-
- version 1.04 (21-August-95)
- - added global fog
-
- version 1.05 (28-August-95)
- - added animation commands
-
- version 1.06 (01-September-95)
- - added motion blur
-
- version 1.07 (10-September-95)
- - added specular brush mapping
-
- version 1.08 (11-September-95)
- - added rendering box
-
- version 1.081 (08-October-95)
- - added global reflection map
- - changed error messages
-
- version 1.082 (11-October-95)
- - improved memory management for Imagine objects
-
- version 1.083 (12-October-95)
- - changed spotlight direction to lookpoint and added actor for lookpoint
- - new form for vectors '<x,y,z>'
- - new form for colors '[r,g,b]'
-
- version 1.1 (18-October-95)
- - next offical release
-
- version 1.11 (19-October-95)
- - bugfix: Imagine fog objects are now loaded properly
- - added parameter check for field rendering
-
- version 1.12 (21-October-95)
- - speedup of motion blur
-
- version 1.13 (01-November-95)
- - bugfix: spotlight look point changed camera view point
- - added soft interpolation of colors for brushmapping
- - bugfix: objects behind light sources casted shadows
-
- version 1.14 (03-November-95)
- - changed default gaussian filter width from 1.8 to 1.3
- - bugfix: problem with global fog
- - plane can now be animated
- - changed axis position in flat brush mapping
- - added 'Time spend' and 'Time left'
-
- version 1.15 (28-November-95)
- - added PNG- and ILBM-modules
- - added radial texture
-
- version 1.16 (09-January-96)
- - bugfix in PNG-module: had problems with palette pictures
- - bugfix motion blur: had a problem with voxel calculations
- - bugfix motion blur: had no motion blur in scenes with planes
- - added TGA-module
- - added 'SOFTSHADOW' to 'DISTRIB'
- - optimized octree (up to 10% faster)
- - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
- - bugfix can now load plane
- - bugfix can now load multiple planes or perfect spheres
-
- version 1.17 (18-February-96)
- - object loading is now done in modules
- - added 3DS module
- - bugfix in TDDD-module: hardness is now used to set REFEXP
- - brushes and textures are no applied to surfaces which lie
- between the light source and the illuminated surface
- - bugfix antialiasing: there where some bright pixel trash in the picture
- if antialiasing with fog was used
- - rewrote bump, wood and marble textures
- - global reflections map is now applied in 'QUICK' mode too
-
- version 1.2 (29-February-96)
- - bugfix: last line of picture has been always black
- - bugfix: had problems with Imagine 4.0 TDDD objects
-
- version 1.21 (25-March-96)
- - TDDD objects are now rotated and scaled relative to axis of first object
- - bugfix: since 1.2 shadows in motion blur scenes were calculated false
- - bugfix: in some cases there were vertical and horizontal stripes in
- rendered pictures
- - bugfix: triangles which were exactly in one plane (XY,XZ,YZ) disapeared
-
- version 1.22 (25-April-96)
- - bugfix: had problems with sharp edges of TDDD objects
- - bugfix: altitude brush mapping produced ugly results
- - bugfix: fixed some motion blur bugs
- - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
- - added datatype support for all commands which load brushes
-
- version 1.25 (08-September-96)
- - the RayStorm kernel is now a shared library
- - added support of new TDDD TXT4 chunk for textures from Imagine 4.0
- - changed the world axis orientation (x left, y up, z in)
-
- version 1.26 (04-October-96)
- - fixed error in marble texture
- - bugfix: had problems with sharp edges of TDDD objects (once again)
-
- version 1.3 (29-November-96)
- - recompiled raystorm.library with StormC -> upto 30% faster (68030/881)
- - backdrop pictures are now automatically scaled
- - added lens effects (flare, light star)
-
- version 1.8 (16-February-97)
- - added shadow cache (improves rendering speed for scenes with many shadows)
- - fire texture
- - minimum amount of objects for octree
- - added spikewidth to visible light star
- - added box object
- - added CSG
- - added tilt angle to light star
- - brushes support now 24 bit datatypes too
- - lens flares are now softly interpolated to the border of the flare
-
- 0m1mHOMEPAGE0m
-
- Come and visit our RayStorm-Homepage! There you can always get the latest
- version of RayStorm and can see some example pictures.
-
- The address:
- http://sol.wohnheim.uni-ulm.de/~calvin/raystorm.html
-
- 0m1mFUTURE ADDITIONS0m
-
- 0m1mRayStorm Scenario0m
-
- - modify triangle objects
- - animation control
- - Arexx port
- - solid display (z-Buffer) (why is there no useable (fast) version of OpenGL for
- Amiga available?)
- - use Imagine staging files
-
- 0m1mRayStorm Raytracer0m
-
- - more objects (torus, cylinder, ...)
- - JPEG-saver
- - animation language (ALAN)
- - more textures
- - don't allocate whole picture buffer at once
- - diffuse reflectivity
- - diffuse transparency
- - log file
- - apply post-2D-FX
- - spline interpolation for actors
- - load Lightwave format
- - metaballs
- - some extra programs (e.g. terrain and plant generation)
-
- 0m1mComputer Graphics0m
-
- J.D. Foley, A. van Dam
- Addison-Wesley
-
- 0m1mAdvanced Animation and Rendering Techniques
- Theory and Practice0m
-
- Alan Watt, Mark Watt
- Addison-Wesley
-
- 0m1mTexturing and Modeling
- A Procedural Approach0m
-
- Ebert, Musgrave, Peachy, Perlin, Worley
- 1994 Academic Press
- ISBN 0-12-228760-6
-
- 0m1m-A-0m
- 3mAbout 0m
- 3mActive 0m
- 3mAddresses 0m
- 3mALIGNMENT 0m
- 3mAltitude brush 0m
- 3mAMBIENT 0m
- 3mANTIALIAS 0m
- 3mAntialiasing 0m
- 3mARexx 0m
- 3mAttributes 0m
- 3mAuthor 0m
- 0m1m-B-0m
- 3mBackdrop 0m
- 3mBox 0m
- 3mBOX 0m
- 3mBrowse 0m
- 3mBrushes 0m
- 3m - show 0m
- 3mBRUSH 0m
- 3mBRUSHPATH 0m
- 3mBugs 0m
- 3mBump 0m
- 3mButtons 0m
- 0m1m-C-0m
- 3mCamera 0m
- 3m - Active 0m
- 3m - Settings 0m
- 3m - to viewer 0m
- 3mChecker 0m
- 3mCLEANUP 0m
- 3mCLEANUP 0m
- 3mColor brush 0m
- 3mCommands 0m
- 3mCoordinates 0m
- 3mCopy 0m
- 3mCopyright 0m
- 3mCredits 0m
- 3mCSG 0m
- 3m - introduction 0m
- 3mCut 0m
- 3mCylinder mapping 0m
- 0m1m-D-0m
- 3mDelete 0m
- 3mDepth of field 0m
- 3mDeselect All 0m
- 3mDIFFTRANS 0m
- 3mDIFFUSE 0m
- 3mDISPLAY 0m
- 3mDISTRIB 0m
- 0m1m-E-0m
- 3mE-Mail 0m
- 3mErrors 0m
- 3mExamples 0m
- 0m1m-F-0m
- 3mFAQ 0m
- 3mFeatures 0m
- 3mFilter brush 0m
- 3mFire 0m
- 3mFLARE 0m
- 3mFlat mapping 0m
- 3mFocus 0m
- 3mFog 0m
- 3mFOGLEN 0m
- 3mFuture 0m
- 0m1m-G-0m
- 3mGeneral 0m
- 3mGETERRORSTR 0m
- 3mGlobal 0m
- 3mGrid 0m
- 3m - Size 0m
- 3m - Snap to 0m
- 0m1m-H-0m
- 3mHistory 0m
- 3mHomepage 0m
- 0m1m-I-0m
- 3mIMTEXTURE 0m
- 3mInternals 0m
- 3mInstallation 0m
- 3mIntroduction 0m
- 3m - Raytracer 0m
- 3m - Scenario 0m
- 3m - Script 0m
- 0m1m-L-0m
- 3mLegal Stuff 0m
- 3mLens flares 0m
- 3mLimitations 0m
- 3mLinear 0m
- 3mLoad 0m
- 3mLOADOBJ 0m
- 3mPointLight Set. 0m
- 3mSpotLight Set. 0m
- 0m1m-M-0m
- 3mMarble 0m
- 3mMenus 0m
- 3mMesh 0m
- 3m - Axis 0m
- 3m - Cube 0m
- 3m - Sphere 0m
- 3m - Plane 0m
- 3m - Tube 0m
- 3m - Cone 0m
- 3m - Torus 0m
- 3mMesh Settings 0m
- 3mMin. Objects 0m
- 3mMode 0m
- 3mMotion Blur 0m
- 3mMUI Prefs 0m
- 0m1m-N-0m
- 3mNew 0m
- 3mNEWACTOR 0m
- 3mNEWSURFACE 0m
- 0m1m-O-0m
- 3mOBJECTPATH 0m
- 3mOpen 0m
- 0m1m-P-0m
- 3mParameters 0m
- 3mPaste 0m
- 3mPC-Version 0m
- 3mPlane 0m
- 3mPLANE 0m
- 3mPointlight 0m
- 3m - Settings 0m
- 3mPOINTLIGHT 0m
- 3mPOSITION 0m
- 3mPrefs 0m
- 3mPrefs Load 0m
- 3mPrefs Save 0m
- 0m1m-Q-0m
- 3mQuit 0m
- 3mQUIT 0m
- 0m1m-R-0m
- 3mRadial 0m
- 3mRAW 0m
- 3mRedo 0m
- 3mRedraw 0m
- 3mREFEXP 0m
- 3mREFLECT 0m
- 3mReflect brush 0m
- 3mReflection map 0m
- 3mREFRINDEX 0m
- 3mRegister 0m
- 3mRender 0m
- 3m - Settings 0m
- 3m - window, set 0m
- 3m - window, enable0m
- 3mRequirements 0m
- 0m1m-S-0m
- 3mSave 0m
- 3mSave As 0m
- 3mSAVEPIC 0m
- 3mSelect All 0m
- 3mSelect Next 0m
- 3mSelect Previous 0m
- 3mSettings 0m
- 3mSETCAMERA 0m
- 3mSETSCREEN 0m
- 3mSETWORLD 0m
- 3mSIZE 0m
- 3mShow 0m
- 3m - Coordinates 0m
- 3m - Names 0m
- 3m - Brushes 0m
- 3m - Textures 0m
- 3mSoft shadows 0m
- 3mSPECTRANS 0m
- 3mSPECULAR 0m
- 3mSpecular brush 0m
- 3mSphere 0m
- 3mSPHERE 0m
- 3mSphere mapping 0m
- 3mSpikewidth 0m
- 3mSpotlight 0m
- 3m - Settings 0m
- 3mSPOTLIGHT 0m
- 3mSTAR 0m
- 3mStars 0m
- 3mSTARTRENDER 0m
- 3mSurface 0m
- 0m1m-T-0m
- 3mTEXTUREPATH 0m
- 3mTextures 0m
- 3m - description 0m
- 3m - show 0m
- 3mTips & Tricks 0m
- 3mTRANSEXP 0m
- 3mTransform 0m
- 3mTRANSLUC 0m
- 3mTRANSPAR 0m
- 3mTRIANGLE 0m
- 3mTutorials 0m
- 0m1m-U-0m
- 3mUndo 0m
- 3mUsage 0m
- 0m1m-V-0m
- 3mView 0m
- 3mVirtual Memory 0m
- 3mVisible Light 0m
- 0m1m-W-0m
- 3mWINTOFRONT 0m
- 3mWood 0m
- 3mWWW 0m
- 0m1m-Z-0m
- 3mZoom fit 0m
- 3mZoom in 0m
- 3mZoom out 0m
-